可能重复:
如何从XmlNodeList中删除XmlNode
嗨,我如何从XML文件中删除一组节点.这是一段代码片段.
string path = @"C:\Documents and Settings\e454935\Desktop\NUnitSettings.xml";
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument();
xmldoc.Load(fs);
fs.Close();
xmldoc.DocumentElement.RemoveChild(xmldoc.DocumentElement.ChildNodes[1]);
FileStream WRITER = new FileStream(path, FileMode.Truncate, FileAccess.Write, FileShare.ReadWrite);
xmldoc.Save(WRITER);
WRITER.Close();
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下代码来删除一个节点并获得"对象引用未设置为对象的实例".在
xmldoc.DocumentElement.RemoveChild(xmldoc.DocumentElement.ChildNodes[1]);
Run Code Online (Sandbox Code Playgroud)
这是一个示例XML文件,
<?xml version="1.0"?>
<Xml1>
<Settings>
<Setting name="DisplayFormat" value="Full" />
<Setting name="File1" value="a" />
<Setting name="File1" value="b" />
<Setting name="File1" value="c" />
<Setting name="File1" value="d" />
</Settings>
</Xml1>
Run Code Online (Sandbox Code Playgroud)
实际上从这个文件我想删除四个File1节点,其值为"a,b,c,d",然后我想添加一个节点,
<Setting name="File1" value="e" />
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点.?
我有以下 XML
<DataTable xmlns = "http://schemas.datacontract.org/2004/07/System.Data">
<xs:schema
id = "NewDataSet"
xmlns = ""
xmlns:xs = "http://www.w3.org/2001/XMLSchema"
xmlns:msdata = "urn:schemas-microsoft-com:xml-msdata">
<xs:element
name = "NewDataSet"
msdata:IsDataSet = "true"
msdata:MainDataTable = "Table"
msdata:UseCurrentLocale = "true">
<xs:complexType>
<xs:choice minOccurs = "0" maxOccurs = "unbounded">
<xs:element name = "Table">
<xs:complexType>
<xs:sequence>
<xs:element
name = "Id"
type = "xs:int"
minOccurs = "0"/>
<xs:element
name = "Industry"
type = "xs:string"
minOccurs = "0"/>
<xs:element
name = "ParentId"
type = "xs:int"
minOccurs = "0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice> …Run Code Online (Sandbox Code Playgroud)