Я не могу развить эту логику, кто-нибудь может мне помочь с этим?
У меня есть большая логика, чтобы я застрял на ней.
У меня есть полностью динамический XML - то есть его узел Detail может увеличиваться и уменьшаться в числе.
И подузлы узлов деталей также могут увеличиваться и уменьшаться в числе.
<?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;
Теперь
Каждый раз, когда я так читаю HTML-контент из DOM, он каждый раз меняется:
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 <strong> LastName</strong></strong></p>
<p><strong><br /></strong></p>
<p> I am from company <strong> Company</strong> that is located in <strong> Country</strong>, <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> </p>
<p> </p>
Теперь я хочу найти каждый элемент детализации в XML в этом HTML и заменить текст в HTML (FirstName, LastName) на значение элемента в 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, я должен исправить узел заранее ... Я хочу сделать это во время выполнения.