テキストは、ノードにノードを追加しません。

XMLを扱うときに最近、いくつかの特別な問題に対する解決策を書き込むために、正常値が出ていない、XMLノードのノードニーズ内のテキストの多くを発見しました

まず第一に、私は問題が発生したものを見て

< > 
    < サブノード> 111 </ 子ノード> 
    < サブノード> 222 </ 子ノード> 
    < サブノード> 333 </ 子ノード> 
    < サブノード> 444 </ 子ノード> 
    555 
</ 親ノード>

この場合の要素()このメソッドは、唯一の子ノード4に取り出すことができます

以下の方法では、この問題を解決するために使用されます

      ///  <まとめ> 
        /// ノードがノード有していない追加する
         ///  </要約> 
        ///  <PARAM NAME = "のXElement"> ノードまたはXML処理する</ PARAM> 
        ///  <PARAM名= "たXNameは"> ノード名を追加する</ PARAM> 
        ///  <戻り値> </戻り> 
        パブリック 静的のXElement CreateNewEle(のXElementのXElement、ストリングたXName)
        { 
            文字列 xmlTxt xElement.ToStringは=()。交換(" /> "" /> \ N- ").Replace(" < ""\ n個< " ); 

            文字列ライン= 文字列.Empty。

            StringReaderリーダー = 新しいにStringReader(xmlTxt)。

            StringBuilderのxmlbuilber = 新しいStringBuilderの();
            一方、((ライン= reader.ReadLine())!= NULL 
            { 
                場合(!ストリング .IsNullOrEmpty(line.Trim())&&!line.Contains(" < ")&&!line.Contains(" /> " ) )
                {  = " <临时节点> " +ライン+ " <" ; 
                } 
                もし(!ストリング.IsNullOrEmpty(ライン))
                { 
                    xmlbuilber.Append(ライン); 
                } 
            } 
            のXElement = XElement.Parse(xmlbuilber.ToString());
             戻りのXElementを; 
        }

メソッドを呼び出します。

ELE:ノードまたはXMLを処理します

「一時的なノード」:ノード名を追加します

 

NewEle = CreateNewEleのXElement(ELE、" 一時的なノード")。

結果を処理した後:

<親> 
    <サブノード> 111 </子ノード> 
    <サブノード> 222 </子ノード> 
    <サブノード> 333 </子ノード> 
    <サブノード> 444 </子ノード> 
   <一時ノード> 555 < /仮ノード> 
</親ノード>

 

おすすめ

転載: www.cnblogs.com/mi21/p/11206987.html
おすすめ