我有一个xmldocument,我正在加载xml文件。
这个xml长这样:
<Table1>
<buyer_id>0</buyer_id>
<buyername>CompanyA</buyername>
<address1>123 Simpsons Dr.</address1>
<address2/>
<city>Springfield</city>
<state>ST</state>
<postalcode>12345</postalcode>
<eaddress/>
<phone/>
<fax/>
</Table1>
我正在循环遍历每个CompanyA条目,并相应地设置其inner文本。我使用以下代码将内部文本插入符合条件的元素:
XmlDocument dom = new XmlDocument();
dom.LoadXml(xmlString);
XmlNodeList elemList = dom.GetElementByTagName("Table1");
for(int i = 0; i < elemList.Count; i++)
{
if(dom.GetElementsByTagName("buyername").Item(i).InnerText.Contains("CompanyA")
{
dom.GetElementsByTagName("address1").Item(i).InnerText = "SomeInfo";
}
}
使用以上代码,地址1(123 Simpsons Dr.)的值将被替换为“SomeInfo”。我想将“SomeInfo”插入到地址2元素中,但是当我尝试使用以下代码时:
dom.GetElementsByTagName("address2").Item(i).InnerText = "SomeInfo";
我遇到了一个错误。我能够向任何已经有值的元素中插入innertext,但是当元素为空时(例如<address2/>
),我无法进行操作。您有什么想法吗?