gpt4 book ai didi

javascript - 在 XML 文件中添加新联系人时如何生成/写入 ID(字母数字)

转载 作者:行者123 更新时间:2023-11-28 10:15:13 26 4
gpt4 key购买 nike

在 xml 文件中创建新联系人期间是否可以生成字母数字 ID。我使用了XSLT函数<xsl:value-of select="generate-id(.)"/>在序列化开始时在我的 xml 文件中生成唯一的 ID,因此我使用上面的内容来生成 ID。

我可以使用 XUL 中的 JavaScript DOM 在 xml 文件中添加新记录。

function create()
{

var src = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\
<CONTACT>\
<Customer-ID>"+document.getElementById("Customer-ID").value+"</Customer-ID>\
<FirstName>"+document.getElementById("FirstName").value+"</FirstName>\
<LastName>"+document.getElementById("LastName").value+"</LastName>\
<email>"+document.getElementById("email").value+"</email>\
<address>"+document.getElementById("address").value+"</address>\
<state>"+document.getElementById("state").value+"</state>\
<country>"+document.getElementById("country").value+"</country>\
</CONTACT>";

print(src);

var node = srcToNode(src);

if (objXMLDoc.childNodes && objXMLDoc.childNodes.length) {

for (var i = 0; i < objXMLDoc.childNodes.length; ++i) {
if (objXMLDoc.childNodes.item(i).childNodes && objXMLDoc.childNodes.item(i).childNodes.length) {
var x = objXMLDoc.childNodes.item(i).childNodes.length;
var lastNode = objXMLDoc.childNodes.item(i).childNodes.item(x-2);

}

}

objXMLDoc.getElementsByTagName("CONTACT");//objXMLDoc.childNodes.item(0).lastChild;

objXMLDoc.appendChild(node);
var serializer = new XMLSerializer();
var prettyString = serializer.serializeToString(objXMLDoc);
saveFile(prettyString, "C:\\contact.xml");
}
}

上面的代码可以完美地在我的 xml 文件中创建一条新记录。在 XML 文件中创建新联系人期间,如何生成唯一 ID?而不是在文本框中手动输入 ID?

XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<CONTACTS>

<CONTACT>
<Customer-ID>N65539</Customer-ID>
<FirstName>Ben</FirstName>
<LastName>Foden</LastName>
<email></email>
<address></address>
<state>AZ</state>
<country>US</country>
</CONTACT>

<CONTACT>
<Customer-ID>N65539</Customer-ID>
<FirstName>Nimal</FirstName>
<LastName>Anup</LastName>
<email>nimal.anup@gmail.com</email>
<address></address>
<state>TN</state>
<country>IN</country>
</CONTACT>


<CONTACTS>

最佳答案

此 XSLT 按原样复制输入 XML,并使用唯一的 ID 填充所有 Customer-ID 元素:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>

<xsl:template match="Customer-ID">
<xsl:copy>
<xsl.value-of select="generate-id()"/>
</xsl:copy>
</xsl:template>

</xsl:stylesheet>

关于javascript - 在 XML 文件中添加新联系人时如何生成/写入 ID(字母数字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6708983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com