加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用XmlDocument在c#.net CF 3.5中添加属性到xml

发布时间:2020-12-15 07:49:09 所属栏目:百科 来源:网络整理
导读:我需要为元素“aaa”创建一个前缀“xx”的属性“abc”.以下代码添加前缀,但它还将namespaceUri添加到元素. 必需输出: mybodyaaa xx:abc="ddd"/mybody/ 我的代码: XmlNode node = doc.SelectSingleNode("//mybody"); XmlElement ele = doc.CreateElement("a
我需要为元素“aaa”创建一个前缀“xx”的属性“abc”.以下代码添加前缀,但它还将namespaceUri添加到元素.

必需输出:

<mybody>
<aaa xx:abc="ddd"/>
<mybody/>

我的代码:

XmlNode node = doc.SelectSingleNode("//mybody");
  XmlElement ele = doc.CreateElement("aaa");

  XmlAttribute newAttribute = doc.CreateAttribute("xx","abc",namespace);              
  newAttribute.Value = "ddd";

  ele.Attributes.Append(newAttribute);

  node.InsertBefore(ele,node.LastChild);

上述代码生成:

<mybody>
<aaa xx:abc="ddd" xmlns:xx="http://www.w3.org/1999/XSL/Transform"/>
<mybody/>

所需输出为

<mybody>
<aaa xx:abc="ddd"/>
<mybody/>

并且“xx”属性的声明应该在根节点中完成,如:

<ns:somexml xx:xsi="http://www.w3.org/1999/XSL/Transform"  xmlns:ns="http://x.y.z.com/Protocol/v1.0">

如何获取deisred格式的输出?如果xml不是这个所需的格式,那么它不能再被处理了.

谁能帮忙?

谢谢,
玉萍

解决方法

我相信这只是直接在根节点上设置相关属性的问题.这是一个示例程序:
using System;
using System.Globalization;
using System.Xml;

class Test
{
    static void Main()
    {
        XmlDocument doc = new XmlDocument();
        XmlElement root = doc.CreateElement("root");

        string ns = "http://sample/namespace";
        XmlAttribute nsAttribute = doc.CreateAttribute("xmlns","xx","http://www.w3.org/2000/xmlns/");
        nsAttribute.Value = ns;
        root.Attributes.Append(nsAttribute);

        doc.AppendChild(root);
        XmlElement child = doc.CreateElement("child");
        root.AppendChild(child);
        XmlAttribute newAttribute = doc.CreateAttribute("xx",ns);
        newAttribute.Value = "ddd";        
        child.Attributes.Append(newAttribute);

        doc.Save(Console.Out);
    }
}

输出:

<?xml version="1.0" encoding="ibm850"?>
<root xmlns:xx="http://sample/namespace">
  <child xx:abc="ddd" />
</root>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读