使用DOM4J和xpath解析XML(二)
在使用Dom4j解析xml文档时,我们很希望有一种类似正则表达式的东西来规范查询条件,而xpath正是这样一种很便利的规则吧.
以下是本人用写的一个类,摘取部分代码;
Java代码
Java代码
String xmlName = path + "/" + userName + ".xml";
// 定义需要返回的第一级菜单的名字集合
List firstNames = new ArrayList();
// Attribute的属性集合
List attrs = new ArrayList();
// 声明SAXReader
SAXReader saxReader = new SAXReader();
try {
Document doc = saxReader.read(xmlName);
// 获得所有grade=1的Element的text的值
String xpath = "/tree/item";
List list = doc.selectNodes(xpath);
Iterator it = list.iterator();
while (it.hasNext
相关文档:
第一种方式--使用MSXML2.DOMDOCUMENT.4.0
创建xmldoc对象,并装载一个xml
Set xmldoc = CreateObject("MSXML2.DOMDOCUMENT.4.0")
xmldoc.loadXML ("一个具体的XML实体")
选择需要筛选的结点
Set nodeList = xmldoc.selectNodes("//*[count(ancestor::*)= 2]") '根节点的第二代后代
Set nodeList = xmldoc ......
protected void Page_Load(object sender, EventArgs e)
{
lblValue.Text = string.Format("{0:N}", 2500000);
lblValue.Text = string.Format("{0:C3}", 2);
......
产品几年前使用ASP,后来升级到.Net 1.1,再升级到2.0,一直都有用XSLT转换XML生成网页的方式,稍微整理下。
XML file:
<?xml version="1.0" encoding="utf-8" ?>
<ric>
<catalog>
<book price ......
我想访问xml当中某些数据,或者是希望有个按钮有个输入文本点击按钮后过滤掉输入文本的内容,该如何做?
XMLListCollection中的过滤函数可以帮我们做到这点!示例的关键函数如下,至于xml有兴趣的朋友自个写
import mx.collections.XMLListCollection;
protected var col:XMLListCollection;
protected var menuI ......
private XmlDocument xmlDoc;
private void btnCreateXml_Click(object sender, EventArgs e)
{
//自 ......