给XML文件添加新的节点

不想多说了,直接贴代码吧。

public void addElement(ArrayList<String> content,ArrayList<String> childelement,String rootElement)
    {
    //其中content为值数组,childelement为所加节点子节点的名称,rootelement为需要添加的跟节点,content和chilelement实际为值和节点一一对应的关系。document为XML文档所对应的对象。
          Text   textseg;
          Element   link   =   document.createElement(rootElement);  
          for(int i=0;i<childelement.size();i++)
          {
          Element   emId   =   document.createElement(childelement.get(i));  
          textseg=document.createTextNode(content.get(i));  
          emId.appendChild(textseg);  
          link.appendChild(emId);  
          }
          
          Element   root   =   document.getDocumentElement();  
          root.normalize();  
          root.appendChild(link);   
          System.out.println(document.getDoctype());  
          try{  
           
          TransformerFactory   tFactory=TransformerFactory.newInstance();  
          Transformer   transformer=tFactory.newTransformer();  
           
          
          DOMSource   source=   new   DOMSource(document);  
          StreamResult   result   =   new   StreamResult(lrb_bvt_file_name);  
          transformer.transform(source,result);  
          }catch(javax.xml.transform.TransformerConfigurationException   e){  
          e.printStackTrace();  
          System.out.println(e.getMessage());  
          }catch(javax.xml.transform.TransformerException   ex){  
          ex.printStackTrace();  
          }
          
        
    }


调用方式为:

            resultArray.add("result");
            contentArray.add("failed");            
            resultArray.add("-nd");
            contentArray.add(df.format(new Date()));

<think>我们正在使用C#的XDocument来处理XML。用户想要知道如何使用XDocument在XML添加节点。根据用户的需求,我们需要提供一个示例,展示如何使用XDocument来添加新的XML节点。在C#中,使用XDocument添加节点通常包括以下步骤:1.加载XML文档(从文件、字符串或其他来源)。2.定位到要添加节点的父节点。3.使用XElement创建新的节点(元素)。4.将新节点添加到父节点的子节点集合中。5.保存修改后的XML文档。我们将使用一个简单的XML结构作为示例,并展示如何添加一个新节点。示例XML(假设我们有一个根元素<Root>,下面已有一些子元素):<Root><Child1>Value1</Child1><Child2>Value2</Child2></Root>现在,我们想要在根节点添加一个新的节点<Child3>Value3</Child3>。使用XDocument的步骤如下:</think>### 如何在 C# 中使用 XDocument 添加 XML节点 在 C# 中使用 `XDocument` 添加 XML节点主要通过 LINQ to XML 实现,步骤如下: #### 1. **创建新节点** 使用 `XElement` 构造函数创建新节点: ```csharp XElement newNode = new XElement("NewNode", new XAttribute("Attribute1", "Value1"), "节点内容" ); ``` #### 2. **添加到父节点** 使用 `Add()` 方法将新节点添加到目标位置: ```csharp XDocument doc = XDocument.Load("文件路径.xml"); doc.Root.Add(newNode); // 添加到根节点末尾 ``` #### 3. **插入特定位置** 使用 `AddFirst()`、`AddAfterSelf()` 等方法精确控制位置: ```csharp // 在第一个子节点前插入 doc.Root.Elements().First().AddBeforeSelf(newNode); // 在特定节点后插入 XElement target = doc.Root.Element("ExistingNode"); target.AddAfterSelf(newNode); ``` #### 完整示例 ```csharp using System.Xml.Linq; // 创建带命名空间的XML XNamespace ns = "http://example.com"; XDocument doc = new XDocument( new XElement(ns + "Root", new XElement("Child1", "内容1"), new XElement("Child2", "内容2") ) ); // 创建带属性的新节点 XElement newChild = new XElement(ns + "NewChild", new XAttribute("id", "101"), "新增内容" ); // 插入到Child1之后 XElement child1 = doc.Root.Element("Child1"); child1.AddAfterSelf(newChild); // 保存修改 doc.Save("output.xml"); ``` #### 输出结果 ```xml <Root xmlns="http://example.com"> <Child1>内容1</Child1> <NewChild id="101">新增内容</NewChild> <Child2>内容2</Child2> </Root> ``` #### 关键方法说明 | 方法 | 作用 | |------|------| | `Add()` | 添加为子节点(末尾) | | `AddFirst()` | 添加为首个子节点 | | `AddBeforeSelf()` | 在当前节点前插入 | | `AddAfterSelf()` | 在当前节点后插入 | | `ReplaceWith()` | 替换当前节点 | > **注意**:使用 `XDocument` 时需注意 XML 命名空间处理,通过 `XNamespace` 对象可避免命名空间冲突[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惹不起的程咬金

来都来了,不赏点银子么

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值