我正在尝试更新一些xml的节点。但我对XML的东西不是很有经验。我读了一些例子,但我做错了
这是我的xml ...
<?xml version="1.0" encoding="ISO-8859-9"?>
<BANK_VOUCHERS>
<BANK_VOUCHER DBOP="INS" >
<DATE>30.12.2014</DATE>
<NUMBER>123</NUMBER>
<TYPE>3</TYPE>
<TRANSACTIONS>
<TRANSACTION>
<TYPE>1</TYPE>
<BANKACC_CODE>BANK1 TL-HESAP</BANKACC_CODE>
<ARP_CODE>CARI1_NR1</ARP_CODE>
我正在尝试REPLACE ARP_CODE值,但在某些xml文件中,可能没有任何ARP_CODE节点。
我的代码如下,但它不起作用。我做错了什么?
XDocument xdoc = XDocument.Load(filename);
foreach (var element in xdoc.Elements("ARP_CODE"))
element.Value = "foo";
xdoc.Save(filename.Substring(0, filename.LastIndexOf('.')) + "_upd.xml");
答案 0 :(得分:3)
更改
xdoc.Elements("ARP_CODE")
到
xdoc.Descendants("ARP_CODE")
你的循环中的。 Elements仅查看当前节点的直接子节点,而Descendants搜索整个树。