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
*/
相关文档:
在此先感谢http://blog.chinaunix.net/u3/111961/showart_2187819.html
。这是篇极好的文章。
在上次学习中,我们写了client小例子,非常简单,而且通过dbus-binding-tool生成的头文件,非常规范。相比执行,server稍微复杂些,仍然使用上次的xml文件,但是去掉annotation,更为本原一些。文件wei.xml如下:
& ......
通常,使用Flash来调用.NET组件需用远程调用,实际上我们也可以通过SOCKET直接通信。
具体采用Flash的AMF3或AFM0格式,采用流行的FluorineFx服务器组件,具体代码如下:
依照此用法可以开发网页游戏或其它Flash应用的.NET SOCKET服务器。
using System;
using System.Collections.Generic;
using System.Collections.S ......
一 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 ......
1.要解析的XML文件如下:
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet href="student.xsl" type="text/xsl"?>
<StudentInfo>
<student>
<name>达内</name>
<sex>男</sex>
<lesson>
  ......
JAXBContext jc = JAXBContext.newInstance(ICPBuildSummaryXO.class);
Unmarshaller u = jc.createUnmarshaller();
ICPBuildSummaryXO xo = (ICPBuildSummaryXO) u.unmarshal(node);
ICPBuildSummary summary = new ICPBuildSummary();
Bean ......