0

xpathを使用してxmlドキュメントをナビゲートする方法について、w3スクールの例に従っていますが、iterateNext()から返されるものはすべてnullです。以下は私の blog.xml ファイルです。

<blog
xmlns ="http://www.w3schools.com" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="blogschema.xsd">
<Title>My blog</Title>

<Entry>
    <Heading id="101">week1</Heading>   
    <body>
        <text>enter text right here</text>
        <pictures>pictures in the body</pictures>

    </body>
    <labels>Seperate labels with commas</labels>
    <date> 20121119</date>

</Entry>





</blog>

これは私のhtmlスクリプトです。結果が常にnullを返すため、whileステートメントに到達することはありません。これは見落としている可能性がありますが、w3学校であれば実際に機能するはずだと思いました。

xmlDoc=loadXMLDoc("blog.xml");//loads xml file  
//loadXmlContent(xmlDoc); using xml dom

path="/blog/Title"
if(document.implementation && document.implementation.createDocument)
{

    var nodes = xmlDoc.evaluate(path, xmlDoc, null, 5, null);
    alert(nodes);
    var result = nodes.iterateNext();


    while (result)
    {document.write(result.childNodes[0].nodeValue);}

}
</script>
4

1 に答える 1

2

xmlns="http://www.w3schools.com"たとえば、入力に考慮する必要があるデフォルトの名前空間宣言があります。

var nodes = xmlDoc.evaluate("df:blog/df:Title", xmlDoc, function(prefix) { if (prefix === "df") return "http://www.w3schools.com"; }, 5, null);

var result;

while ((result = nodes.iterateNext()) != null)
{
  document.write(result.textContent);
}
于 2012-12-31T15:05:03.673 に答える