有没有好的方法从下面的XML中找到ConID=51的PriceList节点的值,要求方法简单
<NewDataSet>
<Table2>
<ConID>51</ConID>
<MemID>1</MemID>
<LineID>28</LineID>
<GroupID>174</GroupID>
<ConSN>E00010905210014</ConSN>
<State>0</State>
<Qty>4</Qty>
<ContactName>钱然</ContactName>
<ContactTel>12365365236</ContactTel>
<SalePrice>2372.0000</SalePrice>
<ConPrice>0.0000</ConPrice>
<TradePrice>2220.0000</TradePrice>
<SaleMemID>22</SaleMemID>
<SaleUserID>38</SaleUserID>
<Creator>38</Creator>
<CreatTime>2009-05-21T14:31:22.903+08:00</CreatTime>
<Memo />
<posttime>2009-05-21T14:31:22.903+08:00</posttime>
<Deleted>false</Deleted>
<Checked>false</Checked>
<Payed>false</Payed>
<TrafficID>179</TrafficID>
<SeatIndexList>1-4号</SeatIndexList>
<MemName>江苏东渡旅行社</MemName>
<MemLogo>江苏东渡</MemLogo>
<UserName>郝鹏</UserName>
<PriceList>4个成人高标全包价</PriceList>
<Price>2220.0000</Price>
</Table2>
<Table2>
<ConID>52</ConID>
<MemID>1</MemID>
<LineID>28</LineID>
<GroupID>174</GroupID>
<ConSN>E00010905210015</ConSN>
<State>0</State>
<Qty>1</Qty>
<ContactName>王维</ContactName>
<ContactTel>13965632541</ContactTel>
<SalePrice>388.0000</SalePrice>
<ConPrice>0.0000</ConPrice>
<TradePrice>350.0000</TradePrice>
<SaleMemID>52</SaleMemID>
<SaleUserID>71</SaleUserID>
<Creator>71</Creator>
<CreatTime>2009-05-21T14:32:22.84+08:00</CreatTime>
<Memo />
<posttime>2009-05-21T14:32:22.84+08:00</posttime>
<Deleted>false</Deleted>
<Checked>false</Checked>
<Payed>false</Payed>
<TrafficID>179</TrafficID>
<SeatIndexList>5号</SeatIndexList>
<MemName>康辉中央门</MemName>
<MemLogo>康辉中央门</MemLogo>
<UserName>王美娟</UserName>
<PriceList>1个成人高标半包价</PriceList>
<Price>350.0000</Price>
</Table2>
<NewDataSet>
<NewDataSet>
<Table2>
<ConID>51</ConID>
<MemID>1</MemID>
<LineID>28</LineID>
<GroupID>174</GroupID>
<ConSN>E00010905210014</ConSN>
<State>0</State>
<Qty>4</Qty>
<ContactName>钱然</ContactName>
<ContactTel>12365365236</ContactTel>
<SalePrice>2372.0000</SalePrice>
<ConPrice>0.0000</ConPrice>
<TradePrice>2220.0000</TradePrice>
<SaleMemID>22</SaleMemID>
<SaleUserID>38</SaleUserID>
<Creator>38</Creator>
<CreatTime>2009-05-21T14:31:22.903+08:00</CreatTime>
<Memo />
<posttime>2009-05-21T14:31:22.903+08:00</posttime>
<Deleted>false</Deleted>
<Checked>false</Checked>
<Payed>false</Payed>
<TrafficID>179</TrafficID>
<SeatIndexList>1-4号</SeatIndexList>
<MemName>江苏东渡旅行社</MemName>
<MemLogo>江苏东渡</MemLogo>
<UserName>郝鹏</UserName>
<PriceList>4个成人高标全包价</PriceList>
<Price>2220.0000</Price>
</Table2>
<Table2>
<ConID>52</ConID>
<MemID>1</MemID>
<LineID>28</LineID>
<GroupID>174</GroupID>
<ConSN>E00010905210015</ConSN>
<State>0</State>
<Qty>1</Qty>
<ContactName>王维</ContactName>
<ContactTel>13965632541</ContactTel>
<SalePrice>388.0000</SalePrice>
<ConPrice>0.0000</ConPrice>
<TradePrice>350.0000</TradePrice>
<SaleMemID>52</SaleMemID>
<SaleUserID>71</SaleUserID>
<Creator>71</Creator>
<CreatTime>2009-05-21T14:32:22.84+08:00</CreatTime>
<Memo />
<posttime>2009-05-21T14:32:22.84+08:00</posttime>
<Deleted>false</Deleted>
<Checked>false</Checked>
<Payed>false</Payed>
<TrafficID>179</TrafficID>
<SeatIndexList>5号</SeatIndexList>
<MemName>康辉中央门</MemName>
<MemLogo>康辉中央门</MemLogo>
<UserName>王美娟</UserName>
<PriceList>1个成人高标半包价</PriceList>
<Price>350.0000</Price>
</Table2>
<NewDataSet>
解决方案 »
- 关于数据库应用
- 请问 vs2005 和 c# builder 比,哪个好用啊?
- 求助:论坛回复功能问题
- 大家做的ASP.NET+C#项目的运行速度如何?我的为何这么慢......?
- 如何在DataTable.select里面使能通配符?
- 关于id筛选的问题, 求解答! 谢谢
- 关于aspx的优秀站点,请告之几个。
- 不知道为什么用ASP写的服务器端老是重复运行
- 求助:如何选中gridview的某一条记录?
- 100分求解,如何把生成的随机数生成图片输出在网页上?解决立即结贴!
- 急!!! aspxGridView的编辑问题问题 高手进
- 怎样利用SHDocVw.dll和mshtml.DLL取得提交后的返回页面
//加载文档
//doc.load("data.xml");//test
var value="";
var tables=doc.getElementsByTagName("Table2");
for(var i=0;i<tables.length;i++)
{
var cNode=tables[i].getElementsByTagName("ConID");
if(cNode!=null&&cNode[0]!=null&&cNode[0].firstChild!=null){
if(cNode[0].firstChild.data=="52")
{
var node=tables[i].getElementsByTagName("ConID");
if(node!=null&&node[0]!=null&&node[0].firstChild!=null){
value=node[0].firstChild.data;
}
else
{
value="";
}
break;
}
}
}
xmlDoc.loadxml("messages.xml");
xmlDoc.setProperty("SelectionLanguage", "XPath");
var sPath = "//Table2/ConID/text()='51'";
var bookNodes = xmlDoc.selectNodes(sPath);关于xpath可以看一下这里 http://www.blueidea.com/tech/program/2009/6635.asp
//加载文档
//doc.load("data.xml");//test
var value="";
var tables=doc.getElementsByTagName("Table2");
for(var i=0;i<tables.length;i++)
{
var cNode=tables[i].getElementsByTagName("ConID");
if(cNode!=null&&cNode[0]!=null&&cNode[0].firstChild!=null){
if(cNode[0].firstChild.data=="52")
{
var node=tables[i].getElementsByTagName("PriceList");
if(node!=null&&node[0]!=null&&node[0].firstChild!=null){
value=node[0].firstChild.data;
}
else
{
value="";
}
break;
}
}
}//因为楼主取的是同一父结点下面的另一个节点的值,所以用xpath不好取
if (window.ActiveXObject)
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
else if (document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","",null);
}
else
{
alert('Your browser cannot handle this script');
}
xmlDoc.async=false;
xmlDoc.loadXML(request.responseText);
var x=xmlDoc.getElementsByTagName("LiveList");
if (x.length>0)
{
for (var i=0;i<x.length;i++)
{
if (parseInt(x[i].getAttribute("ID"))>ArowNum)
{
document.getElementById("live").innerHTML+="<li>";
document.getElementById("live").innerHTML+=x[i].getAttribute("ID")+":";
...
document.getElementById("live").scrollTop=document.getElementById("live").scrollTop+200;
...这是我们之前用过的
你自己看看
根据这个改改就行
Value='4个成人高标全包价' //load xml document 加载XML文件
function _loadXmlDocument(xmlFilePath)
{
var _xmlDoc = null;
if (!window.DOMParser && window.ActiveXObject)
{
var xmlDomVersions = ['MSXML2.DOMDocument.6.0','MSXML2.DOMDocument.3.0','Microsoft.XMLDOM'];
for (var i = 0; i < xmlDomVersions.length; i++)
{
try
{
_xmlDoc = new ActiveXObject(xmlDomVersions[i]);
break;
}
catch(e){}
}
}
else if (document.implementation && document.implementation.createDocument)
{
try
{
_xmlDoc = document.implementation.createDocument('','',null);
}
catch(e){}
} if (_xmlDoc != null)
{
_xmlDoc.async = false;
_xmlDoc.load(xmlFilePath);
} return _xmlDoc;
} //load xml string 加载 XML 字符串
function _loadXmlString(xmlString)
{
var _xmlDoc = null;
if (!window.DOMParser && window.ActiveXObject)
{
var xmlDomVersions = ['MSXML2.DOMDocument.6.0','MSXML2.DOMDocument.3.0','Microsoft.XMLDOM'];
for (var i = 0; i < xmlDomVersions.length; i++)
{
try
{
_xmlDoc = new ActiveXObject(xmlDomVersions[i]);
_xmlDoc.async = false;
_xmlDoc.loadXML(xmlString);
break;
}
catch(e){}
}
}
else if (window.DOMParser && document.implementation && document.implementation.createDocument)
{
try
{
domParser = new DOMParser();
_xmlDoc = domParser.parseFromString(xmlString, 'text/xml');
}
catch(e){}
} return _xmlDoc;
}
function test()
{
var doc = _loadXmlDocument("test.xml");
if(doc==null)
{
alert("加载文档失败!");
return;
}
var value="";
var tables=doc.getElementsByTagName("Table2");
alert(tables.length);
for(var i=0;i<tables.length;i++)
{
var cNode=tables[i].getElementsByTagName("ConID");
if(cNode!=null&&cNode[0]!=null&&cNode[0].firstChild!=null){
if(cNode[0].firstChild.data=="51")
{
var node=tables[i].getElementsByTagName("PriceList");
if(node!=null&&node[0]!=null&&node[0].firstChild!=null){
value=node[0].firstChild.data;
}
else
{
value="";
}
break;
}
}
}
alert(value);
}<body onload="test()">
<script>
var xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
var xml = " <NewDataSet> <Table2> <ConID>51</ConID> <MemID>1</MemID> <LineID>28</LineID> <GroupID>174</GroupID> <ConSN>E00010905210014</ConSN> <State>0</State> <Qty>4</Qty> <ContactName>钱然</ContactName> <ContactTel>12365365236</ContactTel> <SalePrice>2372.0000</SalePrice> <ConPrice>0.0000</ConPrice> <TradePrice>2220.0000</TradePrice> <SaleMemID>22</SaleMemID> <SaleUserID>38</SaleUserID> <Creator>38</Creator> <CreatTime>2009-05-21T14:31:22.903+08:00</CreatTime> <Memo /> <posttime>2009-05-21T14:31:22.903+08:00</posttime> <Deleted>false</Deleted> <Checked>false</Checked> <Payed>false</Payed> <TrafficID>179</TrafficID> <SeatIndexList>1-4号</SeatIndexList> <MemName>江苏东渡旅行社</MemName> <MemLogo>江苏东渡</MemLogo> <UserName>郝鹏</UserName> <PriceList>4个成人高标全包价</PriceList> <Price>2220.0000</Price> </Table2> <Table2> <ConID>52</ConID> <MemID>1</MemID> <LineID>28</LineID> <GroupID>174</GroupID> <ConSN>E00010905210015</ConSN> <State>0</State> <Qty>1</Qty> <ContactName>王维</ContactName> <ContactTel>13965632541</ContactTel> <SalePrice>388.0000</SalePrice> <ConPrice>0.0000</ConPrice> <TradePrice>350.0000</TradePrice> <SaleMemID>52</SaleMemID> <SaleUserID>71</SaleUserID> <Creator>71</Creator> <CreatTime>2009-05-21T14:32:22.84+08:00</CreatTime> <Memo /> <posttime>2009-05-21T14:32:22.84+08:00</posttime> <Deleted>false</Deleted> <Checked>false</Checked> <Payed>false</Payed> <TrafficID>179</TrafficID> <SeatIndexList>5号</SeatIndexList> <MemName>康辉中央门</MemName> <MemLogo>康辉中央门</MemLogo> <UserName>王美娟</UserName> <PriceList>1个成人高标半包价</PriceList> <Price>350.0000</Price> </Table2></NewDataSet>"
xmlDoc.loadXML(xml);
//该 spath查询返回为ConID邛点
var sPath = "//NewDataSet/Table2/ConID[text()='51']";
//var sPath = "//NewDataSet/Table2[ConID/text()='51']"; 该spath返回为 table2节点的数据 alert(xmlDoc.getElementsByTagName("NewDataSet")[0].text);
var bookNodes = xmlDoc.selectNodes(sPath);
alert(bookNodes[0].text);
</script>
var xml = " <NewDataSet> <Table2> <ConID>51</ConID> <MemID>1</MemID> <LineID>28</LineID> <GroupID>174</GroupID> <ConSN>E00010905210014</ConSN> <State>0</State> <Qty>4</Qty> <ContactName>钱然</ContactName> <ContactTel>12365365236</ContactTel> <SalePrice>2372.0000</SalePrice> <ConPrice>0.0000</ConPrice> <TradePrice>2220.0000</TradePrice> <SaleMemID>22</SaleMemID> <SaleUserID>38</SaleUserID> <Creator>38</Creator> <CreatTime>2009-05-21T14:31:22.903+08:00</CreatTime> <Memo /> <posttime>2009-05-21T14:31:22.903+08:00</posttime> <Deleted>false</Deleted> <Checked>false</Checked> <Payed>false</Payed> <TrafficID>179</TrafficID> <SeatIndexList>1-4号</SeatIndexList> <MemName>江苏东渡旅行社</MemName> <MemLogo>江苏东渡</MemLogo> <UserName>郝鹏</UserName> <PriceList>4个成人高标全包价</PriceList> <Price>2220.0000</Price> </Table2> <Table2> <ConID>52</ConID> <MemID>1</MemID> <LineID>28</LineID> <GroupID>174</GroupID> <ConSN>E00010905210015</ConSN> <State>0</State> <Qty>1</Qty> <ContactName>王维</ContactName> <ContactTel>13965632541</ContactTel> <SalePrice>388.0000</SalePrice> <ConPrice>0.0000</ConPrice> <TradePrice>350.0000</TradePrice> <SaleMemID>52</SaleMemID> <SaleUserID>71</SaleUserID> <Creator>71</Creator> <CreatTime>2009-05-21T14:32:22.84+08:00</CreatTime> <Memo /> <posttime>2009-05-21T14:32:22.84+08:00</posttime> <Deleted>false</Deleted> <Checked>false</Checked> <Payed>false</Payed> <TrafficID>179</TrafficID> <SeatIndexList>5号</SeatIndexList> <MemName>康辉中央门</MemName> <MemLogo>康辉中央门</MemLogo> <UserName>王美娟</UserName> <PriceList>1个成人高标半包价</PriceList> <Price>350.0000</Price> </Table2></NewDataSet>"
xmlDoc.loadXML(xml);
var sPath = "//NewDataSet/Table2[ConID/text()='51']";
alert(xmlDoc.getElementsByTagName("NewDataSet")[0].text);
var bookNodes = xmlDoc.selectNodes(sPath);
for (var j = 0; j < bookNodes[0].childNodes.length; j++) {
if(bookNodes[0].childNodes[j].nodeName == "PriceList")alert(bookNodes[0].childNodes[j].text);
}