添加新的xml节点时出现问题

时间:2013-10-09 11:08:38

标签: javascript xml dom xslt

我不明白为什么我无法创建新的xml节点。

代码是尝试创建新节点并更新视图。

即使是我无法在警报中捕获的textContent属性。

代码有什么问题吗?另一个疑问。为什么它不适用于IE?

完整代码:http://jsfiddle.net/AdKfp/1/

我的XML:

<?xml version='1.0'?>
<form>
    <column id='1' name='Field1' value='Value 1' />
    <column id='2' name='Field2' value='Value 2' />
    <column id='3' name='Field3' value='Value 3' />
    <column id='4' name='Field4' value='Value 4' />
    <column id='5' name='Field5' value='Value 5' />
    <column id='5' name='Field6' value='Value 6' />
  </form>

我的XSL:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">

    <html>
      <body>
        <h2>Fund Infos</h2>
        <table border="1">
          <tr>
            <th>#</th>
            <th>#</th>
            <th>#</th>
            <th>#</th>
          </tr>

          <xsl:for-each select="form/column">
            <tr>
              <td><xsl:value-of select="@name"/></td>
              <td><input value="{@value}" /></td>
              <td><input type="button" value="Add" onclick="addNode();" /></td>
              <td><input type="button" value="Remove" /></td>
            </tr>
          </xsl:for-each>

        </table>
      </body>
    </html>

  </xsl:template>
</xsl:stylesheet>

Javascript片段:

function addNode(){

  alert(xml.textContent);

  newel=xml.createElement("column");
  newel.setAttribute("Name", "New Field");
  newel.setAttribute("Value", "New Value");

  alert(newel.textContent);

  x=xml.getElementsByTagName("form")[0];
  x.appendChild(newel);

  alert(x.textContent);

  displayResult();

}

0 个答案:

没有答案