婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 怎樣快速從一個XML文件中查找信息

怎樣快速從一個XML文件中查找信息

熱門標(biāo)簽:如何修改多個百度地圖標(biāo)注 隨州外呼調(diào)研系統(tǒng) 400電話辦理包年 高德地圖地圖標(biāo)注服務(wù)中心 r語言數(shù)據(jù)可視化地圖標(biāo)注 南寧網(wǎng)絡(luò)外呼系統(tǒng)運(yùn)營商 本地電話機(jī)器人 東營電銷 微信地圖標(biāo)注合并了
在網(wǎng)絡(luò)時代,XML文件起到了一個保存和傳輸數(shù)據(jù)的作用。Soap協(xié)議通過Xml交流信息,數(shù)據(jù)庫通過Xml文件存取等等。那么怎樣快速的從一個XML文件中取得所需的信息呢?

我們知道,JAVA的JAXP中和Microsoft.Net都有Xml分析器,Microsoft.Net是邊讀邊分析,而JAXP是讀到內(nèi)存中然后才進(jìn)行分析(還有一種是事件機(jī)制去讀),總而言之,是不利于快速讀取。基于此,Microsoft.Net 和JAXP都提供了XPATH機(jī)制,來快速定位到XML文件中所需的節(jié)點(diǎn)。

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

?xml version="1.0"?>

!-- a fragment of a book store inventory database -->

bookstore xmlns:bk="urn:samples">

book genre="novel" publicationdate="1997" bk:ISBN="1-861001-57-8">

title>Pride And Prejudice/title>

author>

first-name>Jane/first-name>

last-name>Austen/last-name>

/author>

price>24.95/price>

/book>

book genre="novel" publicationdate="1992" bk:ISBN="1-861002-30-1">

title>The Handmaid's Tale/title>

author>

first-name>Margaret/first-name>

last-name>Atwood/last-name>

/author>

price>29.95/price>

/book>

book genre="novel" publicationdate="1991" bk:ISBN="1-861001-57-6">

title>Emma/title>

author>

first-name>Jane/first-name>

last-name>Austen/last-name>

/author>

price>19.95/price>

/book>

book genre="novel" publicationdate="1982" bk:ISBN="1-861001-45-3">

title>Sense and Sensibility/title>

author>

first-name>Jane/first-name>

last-name>Austen/last-name>

/author>

price>19.95/price>

/book>

/bookstore>

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

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);

}

}

}

運(yùn)行這個程序,結(jié)果為:

Book title: Pride And Prejudice

Book title: Emma

Book title: Sense and Sensibility


可以看到查找正確。

利用XPATH中的一些功能,也可以實(shí)現(xiàn)簡單的排序和簡單運(yùn)算。如在數(shù)據(jù)庫中經(jīng)常要對數(shù)據(jù)進(jìn)行匯總,就可用XPATH實(shí)現(xiàn)。

如:

order.xml

!--Represents a customer order-->

order>

book ISBN='10-861003-324'>

title>The Handmaid's Tale/title>

price>19.95/price>

/book>

cd ISBN='2-3631-4'>

title>Americana/title>

price>16.95/price>

/cd>

/order>


和:books.xml

?xml version="1.0"?>

!-- This file represents a fragment of a book store inventory database -->

bookstore>

book cc="dd" xmlns:bk="urn:sample" xmlns:ns="http://www.Any.com" genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">

title>The Autobiography of Benjamin Franklin/title>

ns:author>

first-name>Benjamin/first-name>

last-name>Franklin/last-name>

/ns:author>

price>8.99/price>

/book>

book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">

title>The Confidence Man/title>

author>

first-name>Herman/first-name>

last-name>Melville/last-name>

/author>

price>11.99/price>

/book>

book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">

title>The Gorgias/title>

author>

name>Plato/name>

/author>

price>9.99/price>

/book>

/bookstore>


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

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());

}

}


}

運(yùn)行這個程序,結(jié)果如下:

30.97

36.9

36.9

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

標(biāo)簽:黃石 果洛 西雙版納 德州 寧夏 益陽 拉薩 宿遷

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《怎樣快速從一個XML文件中查找信息》,本文關(guān)鍵詞  怎樣,快速,從,一個,XML,文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《怎樣快速從一個XML文件中查找信息》相關(guān)的同類信息!
  • 本頁收集關(guān)于怎樣快速從一個XML文件中查找信息的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    午夜久久福利影院| 久久久91精品国产一区二区三区| 国产成人精品免费一区二区| 水野朝阳av一区二区三区| 洋洋av久久久久久久一区| 中文欧美字幕免费| 在线播放/欧美激情| 菠萝蜜视频在线观看一区| 国产suv一区二区三区88区| 男人的j进女人的j一区| 国产精品系列在线| 国产日产欧美一区二区三区| 日韩免费视频一区| 51精品久久久久久久蜜臀| 日本高清成人免费播放| 99久久精品免费精品国产| 精品一区二区免费| 日韩电影在线观看电影| 《视频一区视频二区| 国产色婷婷亚洲99精品小说| 欧美精品高清视频| 欧美亚洲日本国产| 91猫先生在线| 91国偷自产一区二区使用方法| 色呦呦网站一区| 欧美日韩在线不卡| 欧美日韩一区视频| 在线综合视频播放| 欧美一级艳片视频免费观看| 在线播放视频一区| 精品国产一区久久| 久久免费国产精品| 日韩美女久久久| 亚洲女与黑人做爰| 一区二区三区小说| 免费在线观看成人| 国产成a人亚洲| 色综合天天综合网天天看片| 色妞www精品视频| 色综合久久久久综合体| 欧美影片第一页| 日韩片之四级片| 久久综合狠狠综合久久综合88| 欧美成人伊人久久综合网| 精品久久人人做人人爰| 国产精品视频一二| 强制捆绑调教一区二区| 国内外成人在线| 99re热视频精品| 欧美日韩黄色一区二区| 国产女同性恋一区二区| 亚洲国产一区视频| 精品亚洲成a人| 在线免费av一区| 久久久不卡网国产精品二区| 亚洲精选视频在线| 老司机一区二区| 99re这里只有精品首页| 欧美一区国产二区| 亚洲精品自拍动漫在线| 国产美女视频一区| 欧美午夜免费电影| 国产三级一区二区| 日韩福利电影在线| aaa国产一区| 精品动漫一区二区三区在线观看| 亚洲精品国产第一综合99久久| 蜜臀99久久精品久久久久久软件| 99久久777色| 久久久精品tv| 婷婷中文字幕一区三区| www.色综合.com| 久久综合99re88久久爱| 午夜欧美一区二区三区在线播放| 成人亚洲一区二区一| 日韩免费一区二区| 日日夜夜精品免费视频| 一本一本大道香蕉久在线精品| 欧美精品国产精品| 亚洲精品国产精华液| 国产成人精品三级| 亚洲精品在线网站| 国产精品自产自拍| 26uuu国产一区二区三区| 视频在线观看一区| 欧美日韩一区二区三区四区 | 精品国产乱码久久久久久久| 国产精品久久免费看| 国产精品一区二区在线播放| 欧美一区二区在线视频| 亚洲一区二区三区不卡国产欧美| av午夜精品一区二区三区| 日韩欧美一二三四区| 日本免费在线视频不卡一不卡二| 欧美三级日韩三级国产三级| 亚洲免费色视频| 色吧成人激情小说| 一区二区免费在线| 欧美三级电影网站| 日韩精品一级中文字幕精品视频免费观看 | 99精品视频在线观看免费| 2014亚洲片线观看视频免费| 免费成人在线视频观看| 日韩三级视频中文字幕| 国产一二三精品| 国产亚洲一区二区三区四区| 成熟亚洲日本毛茸茸凸凹| 久久久噜噜噜久久人人看 | 欧美日韩视频在线一区二区| 亚洲午夜激情网站| 538prom精品视频线放| 日韩在线播放一区二区| 2022国产精品视频| 99热国产精品| 亚洲第一久久影院| 欧美电视剧免费全集观看| 成人福利视频在线| 亚洲.国产.中文慕字在线| 欧美一级免费观看| 久久66热偷产精品| 久久久99免费| 91黄色在线观看| 久久er精品视频| 亚洲国产精品传媒在线观看| 色吊一区二区三区| 激情久久五月天| 国产精品入口麻豆原神| 99精品黄色片免费大全| 亚洲色欲色欲www在线观看| 成人黄色片在线观看| 亚洲国产欧美日韩另类综合| 欧美日韩精品欧美日韩精品一| 日韩av在线播放中文字幕| 国产亚洲一本大道中文在线| 一本一道久久a久久精品综合蜜臀| 天堂一区二区在线| 国产亚洲精久久久久久| 色狠狠综合天天综合综合| 日韩精品视频网| 国产精品理论片在线观看| 欧美xfplay| 欧美一区二区网站| 色综合天天综合网国产成人综合天 | 精品一区二区三区视频在线观看| 国产精品麻豆一区二区| 欧美大片在线观看一区| 色94色欧美sute亚洲线路二| 国产伦理精品不卡| 蜜桃久久精品一区二区| 亚洲国产综合在线| 亚洲另类中文字| 国产精品视频观看| 日韩精品一区二区三区四区视频 | 一区二区三区精品| 国产日产精品一区| 日韩美女一区二区三区四区| 色94色欧美sute亚洲线路一久 | 看电影不卡的网站| 亚洲国产一区二区三区青草影视| 久久综合精品国产一区二区三区| 欧美最新大片在线看| 成人黄色大片在线观看| 奇米精品一区二区三区四区 | 亚洲成人福利片| 亚洲激情图片一区| 久久九九影视网| 国产三级一区二区| 国产午夜一区二区三区| 日韩欧美自拍偷拍| 久久综合一区二区| 欧美极品少妇xxxxⅹ高跟鞋| 国产欧美综合在线观看第十页| 日韩你懂的在线观看| 在线播放中文一区| 日韩一级黄色大片| 日韩免费观看2025年上映的电影| 日韩欧美一级在线播放| 日韩欧美精品三级| 久久这里都是精品| 国产精品色呦呦| 亚洲欧美日本韩国| 亚洲国产欧美另类丝袜| 日本最新不卡在线| 秋霞电影一区二区| 国产成人av影院| 色久优优欧美色久优优| 欧美精品1区2区3区| 日韩欧美激情一区| 国产精品人妖ts系列视频| 国产精品久久免费看| 亚洲一区视频在线| 久久精品国产77777蜜臀| 精品在线你懂的| 国产91综合网| 欧美写真视频网站| 欧美不卡一区二区三区四区| 日韩午夜中文字幕| 欧美一卡在线观看| 亚洲国产激情av| 国产精品久久久久久户外露出|