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 < /仮ノード> </親ノード>