ASP.NET XmlDocument类详解(4)

Console.WriteLine(doc.SelectSingleNode("Article").OwnerDocument);   //获取该节点所属的XmlDocument
            XmlNode xn = doc.SelectSingleNode("Article").LastChild.ParentNode;  //ParentNode获取直接父节点。
            Console.WriteLine(xn.Name); //输出 Article

Console.WriteLine(doc.PreserveWhitespace);  //是否保留空白    输出False
            XmlNode xn1 = doc.SelectSingleNode("Article").LastChild.PreviousSibling;
            Console.WriteLine(xn1.Name);    //输出length 的确是最后一个节点的前一个节点。

Console.ReadKey();
        }

   为了更加好的展示一些属性,现在将xml换成这样:

复制代码 代码如下:


<?xml version="1.0" encoding="utf-8" ?>
<h:Article xmlns:h = "http://www.xxx.com/">
  <!--默认命名空间-->
  <h:author age="30">张三</h:author>
  <h:length>12000</h:length>
  <h:price>42</h:price>
</h:Article>

代码如下:

复制代码 代码如下:


static void Main(string[] args)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(@"C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\Test.xml");
            XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);
            xnm.AddNamespace("h", "http://www.xxx.com/");
            XmlNode Article = doc.SelectSingleNode("h:Article", xnm);
            string namespace1 = Article.InnerText;
            Console.WriteLine(namespace1);      //输出 张三 12000 30

Console.WriteLine(Article.Prefix);  //输出 h  获取当前节点的前缀
            Console.WriteLine(Article.NamespaceURI);    //输出   获取当前节点所在的命名空间

Console.WriteLine(Article.FirstChild.Name + "---" + Article.FirstChild.Value + "---" + Article.FirstChild.LocalName);
            //以上一行代码输出 h:author------author

//SchemaInfo 返回节点的后架构验证信息集 (PSVI)。//Value 获取或设置节点的值。 (继承自 XmlNode。)
             //XmlResolver 设置 XmlResolver 以用于解析外部资源。 

Console.ReadKey();
        }

再来一个展示一下Schemas这个常用的属性

复制代码 代码如下:


static void Main(string[] args)
        {
            XmlDocument doc = new XmlDocument();    //创建文档
            doc.Schemas.Add(null, @"C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\person.xsd");    //添加一个架构对象到本XmlDocument
            doc.Load(@"C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\person.xml");     //加载xml文件
            Console.WriteLine(doc.Schemas.Count);   //输出1 就是第二行添加的那个
            Console.WriteLine(doc.SchemaInfo.MemberType);
            //XmlResolver 设置 XmlResolver 以用于解析外部资源。 

Console.ReadKey();
        }

下面来试下XmlDocument的方法

Test.xml的代码如下:

复制代码 代码如下:


<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
  <book>
    <id>1</id>
    <title lang="属性1">三国演义</title>
    <author>罗贯中</author>
    <year>2005</year>
    <price>38.5</price>
  </book>
  <book>
    <id>2</id>
    <title lang="属性2">西游记</title>
    <author>吴承恩</author>
    <year>2004</year>
    <price>37.5</price>
  </book>
</bookstore>

主程序代码如下:

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjzyjs.html