【问题标题】:Issue on saving the XML file after editing it编辑后保存 XML 文件的问题
【发布时间】:2017-09-04 13:22:21
【问题描述】:

我有一个 XML 文件,上面有一些数据..例如

<?xml version="1.0" encoding="utf-8"?>
<CreateAndSendMessageRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns="http://schemas.communisis.com/lv">
<CompositionRequest>
<Metadata xmlns="http://lv.com/gi/si/common/CommonTypes">
<PolicyReference>250028766505DN</PolicyReference>
<AccountReference>Test1234</AccountReference>
<QuoteReference>Test3214</QuoteReference>
<OutboundTransactionID>string</OutboundTransactionID>
</Metadata>

现在我想用一些虚拟数据替换 POLICY REFERENCE 值。我能够做到这一点,但现在我必须将其另存为具有不同文件名的新文件.. 我怎样才能做到这一点.. 作为参考,我给出了我的代码。

XmlDocument doc = new XmlDocument();
doc.Load(filepath);
XmlNodeList node = doc.GetElementsByTagName("PolicyReference");
var item =node.Item(0);
string value = item.FirstChild.Value;
string nevalue = value.Replace(value, "Test123");
doc.DocumentElement.;
doc.Save(@"C:\Test\file.xml");

【问题讨论】:

  • 你只是在这样做......
  • 值没有被替换..@MarcoSalerno
  • 您替换了字符串,但您必须将其写回doc ...

标签: c# .net xml-parsing


【解决方案1】:

xml 无效。

不管怎样,这就是让它工作的方法:

Xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<CreateAndSendMessageRequest>
<CompositionRequest>
<Metadata xmlns="http://lv.com/gi/si/common/CommonTypes">
<PolicyReference>250028766505DN</PolicyReference>
<AccountReference>Test1234</AccountReference>
<QuoteReference>Test3214</QuoteReference>
<OutboundTransactionID>string</OutboundTransactionID>
</Metadata>
</CompositionRequest>
</CreateAndSendMessageRequest>

代码:

XmlDocument doc = new XmlDocument();
doc.Load("bho.xml");
XmlNodeList node = doc.GetElementsByTagName("PolicyReference");
node[0].InnerText = "Test123";
doc.Save("file.xml");

结果 xml:

<?xml version="1.0" encoding="UTF-8"?>
<CreateAndSendMessageRequest>
  <CompositionRequest>
    <Metadata xmlns="http://lv.com/gi/si/common/CommonTypes">
      <PolicyReference>Test123</PolicyReference>
      <AccountReference>Test1234</AccountReference>
      <QuoteReference>Test3214</QuoteReference>
      <OutboundTransactionID>string</OutboundTransactionID>
    </Metadata>
  </CompositionRequest>
</CreateAndSendMessageRequest>

希望对你有帮助^^

【讨论】:

  • 那太好了...非常感谢@Marco Salemo
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 2020-07-27
  • 2021-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多