C#获取XML文件指定节点的数据
实例说明会更清楚些,假设有如下XML文件:
File: message_hutaow.xml
<?xml version="1.0" encoding="UTF-8"?>
<hutaow:Message version="1.0" xmlns:hutaow="http://wangtao.cublog.cn">
<hutaow:Head>
<hutaow:Date>20080502</hutaow:Date>
<hutaow:Source>
<hutaow:Address>192.168.0.1</hutaow:Address>
<hutaow:name>HUTAOW_HOST</hutaow:name>
</hutaow:Source>
<hutaow:Target>
<hutaow:Address>192.168.0.19</hutaow:Address>
</hutaow:Target>
</hutaow:Head>
</hutaow:Message>
现在要读取消息源(Source)及目的(Target)的IP地址(Address)。
也就是需要获取"/Message/Head/Source/Address"及"/Message/Head/Target/Address"的数据,需要用到XPath的寻径方式,具体代码如下:
//需要引用System.Xml库
using System.Xml;
/*
* 省略中间无关代码
*/
//加载XML文件
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("message_hutaow.xml");
//XML文件中使用了命名空间
XmlNamespaceManager xmlNamespace = new XmlNamespaceManager(xmlDoc.NameTable);
xmlNamespace.AddNamespace("hutaow", "http://wangtao.cublog.cn");
//使用XPath方式寻找源IP地址节点并输出
xmlNode = xmlDoc.SelectSingleNode("/hutaow:Message/hutaow:Head/hutaow:Source/hutaow:Address", xmlNamespace);
Console.WriteLine("Source Address: {0}",xmlNode.InnerText);
//使用XPath方式寻找目的IP地址节点并输出
xmlNode = xmlDoc.SelectSingleNode("/hutaow:Message/hutaow:Head/hutaow:Target/hutaow:Address", xmlNamespace);
Console.WriteLine("Target Address: {0}",xmlNode.InnerText);
/*
* 控制台输出:
* Source Address: 192.168.0.1
* Target Address: 192.168.0.19
*/
相关文档:
XML序列化与反序列化 整理文档
XML序列化与反序列化
// OBJECT -> XML
public static void SaveXml(string filePath, object obj) { SaveXml(filePath, obj, obj.GetType()); }
public static void SaveXml(string filePath, object obj, System.Type ty ......
对于带有表空间xmlns的xml文件的解析,用正常解析文件的方法总是失效,不起作用,无法获得元素。
下面给出两种方法解析此类文件:
1.按正常解析xml文件的方法,需要注意几点:
获取元素Element,不可使用函数:document.selectNodes("//region");
只可以先取到根元素,一级一级往下取,eg:
Element root = document.g ......
很多人对Xpath可能比较熟悉,但不知道有没有直接操作过数据库,我们都知道 在Sql2005里公支持的几种查询有Raw,Auto,Path模式等,如果在2000里使用过 Path模式的朋友应该知道,是不容易处理查询结果的,那么在2005里对这一块做了很好的提升
我先来介绍一下什么是Sql F ......
在使用Goddady主机使用
Google XML
Sitemaps插件的时候,总提示无权限,而实际上我是了权限的,把插件下载到本地,也是可以正常生成sitemap的,怎么办?自然不能难倒咱
Iter。
检索多方检查,发现在服务器上,检查路径一项为sitemap.xml,而在本地,检查路径
为d:\workstation\site\iove.net\sitemap.xml,也就是说 ......
一 DOM 以下代码用DOM是生成一个XML文档
package xml;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
imp ......