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 回答