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
*/
相关文档:
很多人说C#是微软用来和Java抗衡的武器,因为二者在很大程度上有着惊人的相似,尽管如此,两者不同的地方也很多,所谓“于细微处见差异”。那么两者的相似和区别都在什么地方呢?我们从今天开始,会从各个角度来对比C#和Java的特点,希望能对正在学习、使用C#的朋友有所帮助。
& Y0 f! I! a4 a1 K
% B# G8 ......
使用JDOM解析XML(转载,简单又详细)
http://www.blogjava.net/haha/archive/2006/09/01/67153.html
一、前言
JDOM是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初,JDOM作为一个开放源代码项目正式开始研发。JDOM是一种解析XML的Java工具包。
&nbs ......
在使用Goddady主机使用
Google XML
Sitemaps插件的时候,总提示无权限,而实际上我是了权限的,把插件下载到本地,也是可以正常生成sitemap的,怎么办?自然不能难倒咱
Iter。
检索多方检查,发现在服务器上,检查路径一项为sitemap.xml,而在本地,检查路径
为d:\workstation\site\iove.net\sitemap.xml,也就是说 ......
一、测试用的em.xml
<?xml version="1.0" encoding="GB2312"?>
<EW cmd="login" mod="Login" version="6.0">
<Source uns="" type="user"/>
<Username>zhangzhiyun@hp</Username>
<Password>111111</Password> ......
JAXBContext jc = JAXBContext.newInstance(ICPBuildSummaryXO.class);
Unmarshaller u = jc.createUnmarshaller();
ICPBuildSummaryXO xo = (ICPBuildSummaryXO) u.unmarshal(node);
ICPBuildSummary summary = new ICPBuildSummary();
Bean ......