//我想获得一些关于如何使用XMLElement或XElement替换XML中元素的节点值的建议。现在,我正在使用XMLElement进行尝试,但是编译器只给出错误,或者用XML替换选定节点的整个文档。我有一个XML/XSD示例,需要填充数据并每天创建大约500个XML,但是我不能将数据插入正确的元素中。我希望可以在元素值中替换/插入数据。就像我想要更改City文本值一样。我有一个包含内容的表,根据填充的数据,我需要将它添加到特定的XML元素中并保存。现在,我找到的每一段示例代码(包括一些示例代码)都给出了编译错误/空引用对象(在赋值InnerText时),或者删除了所有元素,只添加了一行文本值。
下面的Te代码提供‘’对象引用,而不是设置为一个对象的实例。‘“在.InnerText。实际上,SelectSingleNode的declatarion (“ID”)也会返回null。
-<Receiver>
-<ID>
<RNumber>9999999999</RNumber>
<Name>ABC AGD sp. z o. o.</Name>
</ID>
-<Address>
-<AddressSpec>
<Country>PL</Country>
<Street>Kwiatowa</Street>
<HouseNum>1</HouseNum>
<City>Warszawa</City>
</AddressSpec>
</Address>
<Email>test@test.pl</Email>
<Phone>667444555</Phone>
</ID>
-</Receiver>
using System.IO;
using System.Net;
using System.Xml;
using System.Xml.Linq;
class ReplaceXMLData
{
public static void Main(Args _args)
{
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(//path/sample.xml);
System.Xml.XmlElement root = doc.DocumentElement;
System.Xml.XmlElement Street = doc.SelectSingleNode("Street");
Street.innertext = "random";
doc.AppendChild(root);
doc.Save(path);
info("Details added Successfully");
}}发布于 2022-02-14 11:10:15
下面是使用Xml (XDocument)的解决方案。您需要在FirstOrDefault中使用附加项
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication15
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XDocument doc = XDocument.Load(FILENAME);
XElement id = doc.Descendants("ID").FirstOrDefault();
}
}
}https://stackoverflow.com/questions/71109488
复制相似问题