1

私はこのXMLを持っています:

<location>
  <character name="name" mask="pap.png" X="397" Y="60">
    <look reaction="False">
      text1
      <answer>text2</answer>
    </look>
    <talk xml=""/>
  </character>
</location>

そして私はノードにアクセスできます。とを変更する際に問題がtext1ありtext2ます。ここに私のコード:

node.ChildNodes[0].InnerText = "new_text1";
node.ChildNodes[0].ChildNodes[0].InnerText = "new_text2"; //this doesn't work

その後、私のXMLは次のようになります。

<location>
  <character name="name" mask="pap.png" X="397" Y="60">
    <look reaction="False">text1</look>
    <talk xml=""/>
  </character>
</location>

<answer/>だからそれは子供を断ち切った。何か案は?

4

2 に答える 2

2

変更する必要がありますInnerXml。XMLが混合複合型(複合型=混合:xml要素には属性、要素、およびテキストを含めることができる)であり、DOMはこれを完全には認識していないためです。コードは次のようになります。

node.ChildNodes[0].InnerXml = "new_text1 <answer>new_text2</answer>";
于 2012-07-11T08:08:11.340 に答える
0

これがラインの場合node.ChildNodes[0].InnerText = "new_text1";

置き換えます

<look reaction="False">
      text1
      <answer>text2</answer>
    </look>

<answer>text2</answer>その後、あなたはすでにそれからタグを置き換えています

于 2012-07-11T08:08:13.567 に答える