问候,
我需要删除XML文件中的标签(大约1000个)。我用jquery尝试过,但没有成功:
<html>
<!--jquery app removes specific <t2_patch ...>-tag -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<button>Kill t2_patch-tags </button>
<script>
$("button").click(function () {
$('/home/dan/series14AreaListOnly.xml').remove('t2_patch');
});
</script>
</body>
</html>
我的目标是删除300MB大型XML文件中的t_patch -tags。我到目前为止做的这种方法还不错,或者我完全错了。如何保存更改? (因为remove()函数实际上不会直接删除xml文件中的任何内容?)。
提前感谢任何提示和最好的问候
丹尼亚尔
答案 0 :(得分:0)
你最好的办法是设置一个后端php脚本并ping它要删除的实体并等待回调,更快更可靠,更少可黑客攻击,因为如果有人这样做:
$('/home/dan/series14AreaListOnly.xml').remove('*');
答案 1 :(得分:0)
为什么不用XSLT?并且,在XML中删除标记的含义是什么?
如果您要剥离元素,此样式表会删除输入中的所有t2_patch
元素:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="t2_patch"/>
</xsl:stylesheet>
如果您要删除元素但保留其内容,请使用以下样式表:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="t2_patch">
<xsl:apply-templates select="node()"/>
</xsl:template>
</xsl:stylesheet>
注意:覆盖身份规则。