javascript - 有人可以帮我一些逻辑吗?

标签 javascript xml dom logic

我无法开发这种逻辑,有人可以帮我解决这个问题吗?

我有一些重要的逻辑可以让我坚持下去。

我有一个完全动态的 XML - 即它的详细信息节点的数量可能会增加和减少。
并且细节节点的子节点的数量也可以增加和减少。

<?xml version="1.0" encoding="utf-8" ?>
<body>
  <detail>
    <FirstName>t1 </FirstName>
    <LastName>t2</LastName>
    <Company>t3</Company>
    <Country>t4</Country>
    <Proviance>MP</Proviance>
  </detail>

  <detail>
    <FirstName>t5 </FirstName>
    <LastName>t6</LastName>
    <Company>t7</Company>
    <Country>t8</Country>
    <Proviance>t9</Proviance>
  </detail>

  <detail>
    <FirstName>t10 </FirstName>
    <LastName>t11</LastName>
    <Company>t12</Company>
    <Country>t13</Country>
    <Proviance>t14</Proviance>
  </detail>

</body>

我是这样读 XML 的:

 xmlhttp = new XMLHttpRequest();
        xmlhttp.open("GET", "/TinyEditor/PreviewBody.xml", true);
        xmlhttp.send();
        xmlDoc = xmlhttp.responseXML;

现在

每次我这样从DOM读取HTML内容,每次都不一样:

      var x = tinyMCEPopup.editor.getContent().toString();
        alert(x);

the x gets the value like this (x can be different at different times) 

<p>Headline Dear <br /> <br /> <img src="Images/Untitled.png" alt="" /> <br /> <br />Dear <strong>FirstName&nbsp; <strong> LastName</strong></strong></p>
<p><strong><br /></strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I am from company <strong> Company</strong> that is located in <strong> Country</strong>,&nbsp; <strong> Proviance</strong>, <strong> City.</strong></p>
<p><strong><br /></strong></p>
<p>Thanks</p>
<p><strong>FirstName</strong> <strong> LastName</strong> </p>
<p><strong><br /></strong></p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>

现在我想在此 HTML 中搜索 XML 中的每个详细信息元素,并希望将 HTML 中的文本(名字、姓氏)替换为 XML 中的元素值 每个细节节点的节点。
之后我将格式化的 HTML 内容重写到 DOM 中。 这是我无法开发的逻辑,有人可以帮我解决这个问题吗?


我的努力:

<xsl:for-each select="Home/menu">
    <xsl:variable name="i"><xsl:value-of select="1+position()" /></xsl:variable>
    <script language="javascript">
        var id = '<xsl:value-of select="$i"/>';
        var firstname = '<xsl:value-of select="firstname"/>';
        var lastrname = '<xsl:value-of select="lastrname"/>';
        var firstname = '<xsl:value-of select="firstname"/>';
        var lastrname = '<xsl:value-of select="lastrname"/>';
        var firstname = '<xsl:value-of select="firstname"/>';
        var lastrname = '<xsl:value-of select="lastrname"/>';
        $('#CurrProg-'+id).html(functionname('FirstName',firstname));
        $('#CurrProg-'+id).html(functionname('LastName',firstname));
        $('#CurrProg-'+id).html(functionname('tagname',firstname));
        $('#CurrProg-'+id).html(functionname('tagname',firstname));
        $('#CurrProg-'+id).html(functionname('tagname',firstname));
        $('#CurrProg-'+id).html(functionname('tagname',firstname));
    </script>
</xsl:for-each>

和函数

    $(document).ready(function () {

        /* load all xsl and xml file */

        xmlDoc = $.xsl.load('XML/PreviewBody.xml');
        xslHome = $.xsl.load('XSL/Preview.xsl');

        $('#Page_Content').getTransform(
    xslHome,
    xmlDoc
);

    });

 function textReplace(actualtext, replacementtext) {
        var actualtext = new RegExp(actualtext, 'ig');
        document.getElementById('content').innerHTML = x.replace(actualtext, replacementtext);

    }

但它不适用于动态 XML,我必须提前修复节点...我想在运行时进行。

最佳答案

为此,我更愿意使用 JQuery。它对于此类任务非常方便,您无需为每个浏览器编写代码。

http://www.vagrantradio.com/2009/10/how-to-parse-xml-using-jquery-and-ajax.html

关于javascript - 有人可以帮我一些逻辑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8020508/

相关文章:

javascript - 推迟函数直到 jQuery 加载(或另一个固定点)

javascript - 如何实现网站的cookies scraper?

java - 为什么 Docx4j 不从 docx 文件中删除内容控件?

css - 页面末尾错误 (XML SVG) & CSS 不工作

C++ sax2解析器问题

javascript - 无法将具有元素作为原型(prototype)的对象添加到 dom

javascript - Vanilla JavaScript教程中的视觉效果问题-初学者

javascript - 使用索引访问对象属性会给出 undefined

jquery - 在动态创建的 DOM 元素上设置 z-index

javascript - 如何通过 DOM 引用背景图片