Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于javascript的XML条件解析_Javascript_Xml_Conditional Statements - Fatal编程技术网

基于javascript的XML条件解析

基于javascript的XML条件解析,javascript,xml,conditional-statements,Javascript,Xml,Conditional Statements,我有下面的xml文件,我正在尝试提取一些元素 <entry> <form> <orth>Agathe</orth> <pron>agat</pron> </form> <gramGrp> <pos>n</pos> </gramGrp> <sense>

我有下面的xml文件,我正在尝试提取一些元素

<entry>
    <form>
        <orth>Agathe</orth>
        <pron>agat</pron>
    </form>
    <gramGrp>
        <pos>n</pos>
    </gramGrp>
    <sense>
        <cit type="trans">
            <quote>Agatha</quote>
        </cit>
    </sense>
</entry>
<entry>
    <form>
        <orth>Aix-la-Chapelle</orth>
    </form>
    <gramGrp>
        <pos>n</pos>
    </gramGrp>
    <sense>
        <cit type="trans">
            <quote>Aix-la-Chapelle</quote>
        </cit>
    </sense>
</entry>

阿加特
玛瑙
N
阿加莎
艾克斯拉查佩尔酒店
N
艾克斯拉查佩尔酒店
我已经提取了所有元素,但是我只需要那些在pos元素中有n的元素

function parseWordsAlt(xml) {

    // this reads the XML and puts the whole structure in the variable xmlDoc
    var xmlDoc = xml.responseXML;
    // this takes all the entries which has tag names orth
    var resultOrth = xmlDoc.getElementsByTagName("orth");
    // this takes all the entries which has tag names orth
    var resultTranslation = xmlDoc.getElementsByTagName("quote");

    // cycles through the first n tags named orth
    var n=20;
    for (var i=0;i<n;i++) {
        for (var j=0;j<n;j++) {
            var resultWord1=resultOrth[i].childNodes[0].nodeValue;
            var resultWord2=resultTranslation[j].childNodes[0].nodeValue;
        }
    }
}
函数parseWordsAlt(xml){
//这将读取XML并将整个结构放入变量xmlDoc中
var xmlDoc=xml.responseXML;
//这将获取所有具有标记名的条目
var resultOrth=xmlDoc.getElementsByTagName(“ORH”);
//这将获取所有具有标记名的条目
var resultTranslation=xmlDoc.getElementsByTagName(“报价”);
//循环遍历名为orth的前n个标记
var n=20;

对于(var i=0;i有一些我们不知道的细节,作为您正在使用的环境,但这里有一个小的概念证明,可以帮助您获得解决方案:检查每个条目,如果它满足您的条件,则取您需要的值:

var xml=document.getElementById(“xml”).innerHTML;
函数parseWordsAlt(xmlDoc){
//这将获取所有条目
var entries=xmlDoc.getElementsByTagName(“条目”);

对于(var i=0;iWhat浏览器)你的目标是什么?我的计算机上有这个文件,我只需要用结果创建另一个文件。这并不能回答问题,是吗?我不确定。谷歌浏览器。你必须在浏览器中进行操作?如果你想从计算机上的XML文件中获取信息,而你对在网页上显示这些文件并不感兴趣,那么n有比使用浏览器更好的方法。