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>
主程序代码如下:
复制代码 代码如下: