を選択:私はこのような何か持っている特定の値を持つ子ノードを持つ特定のノード
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Row>
<Cell>some value</Cell>
<Cell>some value</Cell>
... continues with around 800 other Cells
</Row>
...continues with around 2000 other Rows
最初の問題: XMLデータを選択するために、XPathを使用することでは、私が持っている行を選択したいです特定の値を持つセル。どうすればこれを達成できますか?このためのxpath構文は何ですか?
第二の問題: 私のXMLデータは、コードの行1.6メートル程度であると、そこからデータを選択することはさておき80Mbs周りが重みをその事実から、非常に長い時間がかかります!このプロセスをより効果的にし、パフォーマンスを向上させるにはどうすればよいですか?私は、XMLデータを取得するために以下のコードを使用し PN:あなたの質問の最初の部分に
function loadXMLDoc(dname)
{
xhttp=new XMLHttpRequest();
xhttp.open("GET", dname ,false);
xhttp.send("");
return xhttp;
}
var x=loadXMLDoc("data/data.xml");
var xml=x.responseXML;
path="some path";
if (document.implementation && document.implementation.createDocument)
{
var nodes=xml.evaluate(path, xml, null, XPathResult.ANY_TYPE, null);
var result=nodes.iterateNext();
while (result)
{
document.write(result.childNodes[0].nodeValue);
document.write("<br>");
result=nodes.iterateNext();
}
}
xpath '//Cell[.='some value ']'はテキストコンテンツがある値のセルを持つノードを取得する必要があります – SomeDude
@svasaしかし、これは値を持つセルのみを選択します。私はその親を選択したい!これを行う方法はありますか? –
はい。 '//Cell[.='some value ']/..'は親ノード 'Row'を与えます – SomeDude