亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

怎樣快速的從一個XML文件中取得所需的信息

2024-09-05 20:55:16
字體:
來源:轉載
供稿:網友

在網絡時代,XML文件起到了一個保存和傳輸數據的作用。Soap協議通過Xml交流信息,數據庫通過Xml文件存取等等。那么怎樣快速的從一個XML文件中取得所需的信息呢?

我們知道,JAVA的JAXP中和Microsoft.Net都有Xml分析器,Microsoft.Net是邊讀邊分析,而JAXP是讀到內存中然后才進行分析(還有一種是事件機制去讀),總而言之,是不利于快速讀取?;诖耍琈icrosoft.Net 和JAXP都提供了XPATH機制,來快速定位到XML文件中所需的節點。

例如有一個XML文件:booksort.xml:









Pride And Prejudice



Jane

Austen



24.95





The Handmaid's Tale



Margaret

Atwood



29.95





Emma



Jane

Austen



19.95





Sense and Sensibility



Jane

Austen



19.95





如果我們想快速查找”last-name”等于”Austen”的所有標題名,可以通過以下方法可以得到:

XmlReaderSample.cs

//Corelib.net/System.Xml.Xsl/XPathDocument Class

//Author :Any


using System;

using System.IO;

using System.Xml;

using System.Xml.XPath;


public class XmlReaderSample

{

public static void Main()

{

XmlTextReader myxtreader = new XmlTextReader("booksort.xml");

XmlReader myxreader = myxtreader;

XPathDocument doc = new XPathDocument(myxreader);

XPathNavigator nav = doc.CreateNavigator();


XPathExpression expr;

expr = nav.Compile("descendant::book[author/last-name='Austen']");


//expr.AddSort("title", XmlSortOrder.Ascending, XmlCaseOrder.None, "", XmlDataType.Text);


XPathNodeIterator iterator = nav.Select(expr);

while (iterator.MoveNext())

{

XPathNavigator nav2 = iterator.Current;

nav2.MoveToFirstChild();

Console.WriteLine("Book title: {0}", nav2.Value);

}

}

}

運行這個程序,結果為:

Book title: Pride And Prejudice

Book title: Emma

Book title: Sense and Sensibility


可以看到查找正確。

利用XPATH中的一些功能,也可以實現簡單的排序和簡單運算。如在數據庫中經常要對數據進行匯總,就可用XPATH實現。

如:

order.xml







The Handmaid's Tale

19.95





Americana

16.95






和:books.xml









The Autobiography of Benjamin Franklin



Benjamin

Franklin



8.99





The Confidence Man



Herman

Melville



11.99





The Gorgias



Plato



9.99






我們可以對該XML文件中的price求和,以得到價格總數。

Evaluate.cs

//Corelib.net/System.Xml.Xsl/XPathNavigator Class

//Author :Any


using System;

using System.IO;

using System.Xml;

using System.Xml.XPath;



public class EvaluateSample

{

public static void Main()

{

EvaluateSample myEvaluateSample = new EvaluateSample();

myEvaluateSample.test("books.xml");

}


public void test(String args)

{

try

{

//test Evaluate(String);

XPathDocument myXPathDocument = new XPathDocument(args);

XPathNavigator myXPathNavigator = myXPathDocument.CreateNavigator();

Console.WriteLine(myXPathNavigator.Evaluate("sum(descendant::book/price)"));


//testEvaluate(XPathExpression);

XmlDocument doc = new XmlDocument();

doc.Load("order.xml");

XPathNavigator nav = doc.CreateNavigator();

XPathExpression expr = nav.Compile("sum(//price/text())");

Console.WriteLine(nav.Evaluate(expr));


//testEvaluate(XPathExpression);


XPathNodeIterator myXPathNodeIterator = nav.Select("descendant::book/title");

expr = nav.Compile("sum(//price/text())");

Console.WriteLine(nav.Evaluate(expr,myXPathNodeIterator));


}

catch (Exception e)

{

Console.WriteLine ("Exception: {0}", e.ToString());

}

}


}

運行這個程序,結果如下:

30.97

36.9

36.9

我們可以看到,30.97是books.xml中所有price值的總和,而36.9則是order.xml中所有price值的總和。通過XPAH不僅可以快速查找信息,而且還可以對信息進行一些基本的處理。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
这里只有精品在线播放| www欧美xxxx| 国产欧美中文字幕| 国产欧美精品一区二区三区介绍| 亚洲一区二区国产| 成人欧美一区二区三区在线湿哒哒| 亚洲国产私拍精品国模在线观看| 日韩av免费在线播放| 亚洲国产美女精品久久久久∴| 亚洲最大福利网| 亚洲精品中文字幕av| 插插插亚洲综合网| 亚洲天堂成人在线视频| 91理论片午午论夜理片久久| 国产免费观看久久黄| 欧美精品videos另类日本| 超薄丝袜一区二区| 搡老女人一区二区三区视频tv| 久久视频在线观看免费| 欧美日韩国产色视频| 亚洲一区二区在线播放| 亚洲图片在线综合| 久久精品色欧美aⅴ一区二区| 欧美日韩免费一区| 日韩中文字幕在线看| 原创国产精品91| 国产亚洲免费的视频看| 在线播放日韩av| 日韩中文字幕不卡视频| 美日韩精品免费观看视频| 欧美性猛交xxxx免费看| 欧美成aaa人片免费看| 亚洲精品日韩在线| 最新国产精品拍自在线播放| 中日韩午夜理伦电影免费| 久久影视三级福利片| 亚洲直播在线一区| 国内精品伊人久久| 一区二区亚洲欧洲国产日韩| 另类视频在线观看| 日韩在线不卡视频| 欧美在线观看日本一区| 欧美日在线观看| 国产成人综合av| 日韩中文字幕在线视频播放| 成人午夜一级二级三级| 国产精品视频大全| 精品爽片免费看久久| 97在线精品国自产拍中文| 成人国内精品久久久久一区| 欧美精品videossex88| 国产精品高潮在线| 日韩国产一区三区| 高清在线视频日韩欧美| 538国产精品视频一区二区| 精品日韩美女的视频高清| 久久久久久伊人| 国产一区二区视频在线观看| 亚洲高清av在线| 欧美丰满少妇xxxx| 欧美激情视频三区| 九九精品在线视频| 69国产精品成人在线播放| 久久亚洲电影天堂| 欧美日韩国产精品| 国产精品都在这里| 性色av一区二区三区红粉影视| 欧洲午夜精品久久久| 亚洲综合大片69999| 91精品视频观看| 一区二区成人精品| 中文字幕日韩欧美在线| 久久人人爽亚洲精品天堂| 亚洲成人av在线播放| 亚洲综合在线中文字幕| 日韩在线视频一区| 精品国产91久久久| 欧美激情日韩图片| 亚洲欧洲国产伦综合| 黑人狂躁日本妞一区二区三区| 亚洲综合中文字幕在线| 九九九热精品免费视频观看网站| 亚洲人成网站777色婷婷| 国产成人综合精品| 丰满岳妇乱一区二区三区| 久久久亚洲精品视频| 国产精品久久久av久久久| 亚洲精品免费一区二区三区| 国产精品久久久久久久7电影| 91中文精品字幕在线视频| 91人人爽人人爽人人精88v| 久久男人av资源网站| 欧美激情亚洲综合一区| 国产精品www色诱视频| 亚洲在线观看视频| 久久久久久久久久久国产| 欧美激情乱人伦一区| 555www成人网| 日韩网站免费观看| 日韩免费黄色av| 国产午夜精品美女视频明星a级| 一本一本久久a久久精品综合小说| 精品国内自产拍在线观看| 日韩欧美国产中文字幕| 日韩成人在线电影网| 久久夜色精品亚洲噜噜国产mv| 国产亚洲精品成人av久久ww| 亚洲欧洲第一视频| 欧美男插女视频| 国产精品av在线播放| 亚洲一区av在线播放| 成人精品久久久| 色偷偷偷亚洲综合网另类| 日韩在线欧美在线国产在线| 97在线看福利| 国产精品极品美女粉嫩高清在线| 亚洲自拍高清视频网站| 美日韩精品免费视频| 国产精品三级网站| 欧美综合激情网| 伊人激情综合网| 欧美日韩国产精品一区| 国产精品一区二区3区| 成人黄色在线免费| 91久久精品美女高潮| 国外成人性视频| 国产精品视频不卡| 欧美日韩成人网| 欧洲一区二区视频| 欧美激情日韩图片| 亚洲高清免费观看高清完整版| 亚洲人成在线观看网站高清| 成人国产亚洲精品a区天堂华泰| 国产成人综合精品在线| 最近免费中文字幕视频2019| 欧美日韩在线一区| 欧美午夜精品久久久久久久| 亚洲女同精品视频| 国产一区视频在线播放| 亚洲美女av在线| 国色天香2019中文字幕在线观看| 在线观看成人黄色| 亚洲网站在线播放| 久久激情视频久久| 欧美日韩精品二区| 日韩欧美国产免费播放| 欧美又大粗又爽又黄大片视频| 欧美午夜激情视频| 精品国偷自产在线视频99| 亚洲精品美女久久久久| 青青精品视频播放| 国产精品三级美女白浆呻吟| 欧美巨乳在线观看| 精品国产一区二区三区久久狼黑人| 国产精品久久久久久久久久免费| 欧美在线一级va免费观看| 成人福利网站在线观看| 中文字幕欧美亚洲| 亚洲精品一区中文| 欧美综合国产精品久久丁香| 日韩av影视综合网| 亚洲成人av在线| 这里只有精品视频在线| 亚洲免费视频一区二区|