相关疑难解决方法(0)

如何使用C#从XML文件中删除节点

可能重复:
如何从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)

我怎样才能做到这一点.?

c# xml

19
推荐指数
3
解决办法
12万
查看次数

需要命名空间管理器或 XsltContext。该查询有前缀、变量或用户定义的函数

我有以下 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)

c# xml asp.net

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×2

xml ×2

asp.net ×1