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

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

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

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

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

例如有一個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”的所有標題名,可以通過以下方法可以得到:

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

!--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求和,以得到價格總數。

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不僅可以快速查找信息,而且還可以對信息進行一些基本的處理。

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

巨人網絡通訊聲明:本文標題《怎樣快速從一個XML文件中查找信息》,本文關鍵詞  怎樣,快速,從,一個,XML,文件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《怎樣快速從一個XML文件中查找信息》相關的同類信息!
  • 本頁收集關于怎樣快速從一個XML文件中查找信息的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩国产精品大片| 91麻豆产精品久久久久久| 成人av在线播放网址| 久久精品水蜜桃av综合天堂| 久久精品国产**网站演员| 6080日韩午夜伦伦午夜伦| 日韩—二三区免费观看av| 91精品国产综合久久福利| 日本特黄久久久高潮| 精品免费视频.| 国产一区二区在线看| 国产精品伦理在线| 日本二三区不卡| 婷婷成人激情在线网| 欧美va亚洲va在线观看蝴蝶网| 麻豆91免费看| 国产欧美精品一区| 色一情一乱一乱一91av| 婷婷丁香激情综合| 国产精品网曝门| 欧美私人免费视频| 国产精品456| 香蕉av福利精品导航| 亚洲精品在线观看网站| 97se亚洲国产综合自在线观| 青青草国产精品亚洲专区无| 中文字幕乱码日本亚洲一区二区| 在线视频你懂得一区二区三区| 男人的天堂久久精品| 国产精品女主播在线观看| 欧美午夜在线观看| 岛国精品在线播放| 丝袜亚洲精品中文字幕一区| 久久这里只有精品6| 91国在线观看| 国产91丝袜在线播放0| 五月婷婷另类国产| 欧美激情一区二区三区四区| 欧美高清www午色夜在线视频| 成人禁用看黄a在线| 久草热8精品视频在线观看| 亚洲综合免费观看高清在线观看| 精品国产三级电影在线观看| 欧美精品99久久久**| 99久久国产综合精品女不卡| 蜜臀av性久久久久av蜜臀妖精| 亚洲精品成人悠悠色影视| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美日韩成人综合天天影院| 成人午夜大片免费观看| 精一区二区三区| 免费成人美女在线观看.| 一区二区三区不卡视频在线观看| 国产精品久久久久aaaa| 国产精品视频yy9299一区| 欧美国产一区二区| 国产日韩欧美激情| 久久久蜜桃精品| 久久精品日产第一区二区三区高清版| 日韩免费电影一区| 日韩精品一区二区在线| 欧美电影精品一区二区| 欧美精品一区视频| 久久久蜜臀国产一区二区| 久久你懂得1024| 国产精品精品国产色婷婷| 亚洲欧洲www| 亚洲综合色区另类av| 亚洲成精国产精品女| 日韩精品亚洲专区| 麻豆国产欧美日韩综合精品二区| 捆绑紧缚一区二区三区视频| 国产一区二区三区免费播放| 成人一区在线观看| 91女厕偷拍女厕偷拍高清| 欧美性色黄大片| 91精品欧美一区二区三区综合在| 欧美一区二区性放荡片| 欧美不卡一区二区三区四区| 精品国产区一区| 中文字幕日韩一区二区| 一区二区欧美精品| 久久国产精品色婷婷| 国产·精品毛片| 91麻豆国产福利在线观看| 91精品国产免费久久综合| 国产午夜久久久久| 亚洲一区二区在线免费看| 青草国产精品久久久久久| 国产成a人无v码亚洲福利| 欧美在线啊v一区| 久久午夜电影网| 亚洲一区欧美一区| 国产伦精品一区二区三区免费| 成人一区二区三区| 91麻豆精品久久久久蜜臀| 日本一二三四高清不卡| 午夜成人免费视频| 国产一区在线观看麻豆| 欧美在线999| 欧美国产丝袜视频| 秋霞影院一区二区| 成人福利视频网站| 欧美一区二区二区| ...av二区三区久久精品| 精品一区二区三区在线观看 | 中文字幕欧美国产| 日欧美一区二区| 白白色 亚洲乱淫| 日韩三级高清在线| 亚洲品质自拍视频| 国产成+人+日韩+欧美+亚洲| 91精品国产aⅴ一区二区| 专区另类欧美日韩| 国内精品国产三级国产a久久| 欧美系列在线观看| 亚洲欧美在线高清| 成人高清免费观看| 国产三级欧美三级| 日韩电影在线观看一区| 在线观看视频一区二区| 国产精品国产三级国产aⅴ中文 | 国产成人免费高清| 精品不卡在线视频| 日韩黄色免费网站| 欧美亚洲另类激情小说| 1024亚洲合集| 99国产精品久久久| 日韩美女啊v在线免费观看| 国产69精品久久久久777| 国产偷国产偷亚洲高清人白洁 | 日本成人在线网站| 欧美色图天堂网| 亚洲三级理论片| 成人激情视频网站| 国产精品久久影院| 成人国产精品免费观看| 国产精品毛片大码女人| 国产成人精品免费网站| 国产亚洲短视频| 成人一道本在线| 国产精品久久久久影院亚瑟| 成人久久视频在线观看| 国产精品乱人伦中文| 色综合久久天天| 日韩精品每日更新| 精品久久久久一区| 国产在线精品国自产拍免费| 日本一区二区三区四区在线视频| 国产精品综合视频| 国产精品久久久久久久久久免费看| 99re成人在线| 亚洲v日本v欧美v久久精品| 欧美一区二区在线看| 国产精品一区二区黑丝| 国产精品久久久久久妇女6080| 91黄色小视频| 精品制服美女久久| 亚洲美女屁股眼交| 欧美一区二区三区在线| 国产精品白丝jk黑袜喷水| 中文字幕亚洲综合久久菠萝蜜| 欧美亚洲另类激情小说| 国产在线精品一区在线观看麻豆| 欧美国产日韩精品免费观看| 欧洲一区二区三区在线| 蜜乳av一区二区| 欧美国产视频在线| 欧美日韩成人在线| 国产精品小仙女| 亚洲v中文字幕| 日本一二三四高清不卡| 欧美年轻男男videosbes| 国产成人av资源| 日韩精品一区第一页| 国产精品久久久久久福利一牛影视| 欧美精品亚洲二区| 成人动漫一区二区| 免费高清在线一区| 一区二区三区在线高清| 精品人在线二区三区| 色老头久久综合| 国产福利电影一区二区三区| 五月婷婷久久丁香| 亚洲免费资源在线播放| 精品日韩在线观看| 欧美精品免费视频| 色婷婷综合久色| 成人动漫视频在线| 国产九色sp调教91| 麻豆91在线播放| 日韩高清欧美激情| 亚洲大片在线观看| 一区二区三区影院| 亚洲欧美一区二区三区极速播放| 欧美va日韩va| 91精品国产高清一区二区三区| 欧美午夜一区二区| 欧美性色欧美a在线播放| 97国产精品videossex|