是否有快速生成xml文档的“骨架”的方法?我不知道怎么说,但这是我需要的一个例子......
说我有这个(可能是格式错误的)XML文档......
<ImATag>
<SoAmI>
*some random data...*
<OneMore>
*some more random data...*
</OneMore>
</SoAmI>
</ImATag>
我想要归还......
<ImATag>
<SoAmI>
<OneMore>
</OneMore>
</SoAmI>
</ImATag>
有没有快速的方法呢?计划,网站等?我的文档有几千页,所以我不能手动完成它。我想我真的只想删除标签中的所有数据,只返回文档的大纲。
答案 0 :(得分:0)
或者选择一个标准的DOM或SAX示例程序来解析和重新序列化XML,并修改它以丢弃不需要的文本。可能更容易在SAX样本中进行更改。
答案 1 :(得分:0)
您需要XSL处理。
以下XSLT将复制除text()
个节点以外的所有节点:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
您也需要一个XSLT处理器,例如xsltproc
:
xsltproc xsl your-xml
或Java或.NET,或者带有XML解析库的任何其他框架(通常包括XSL转换函数)。
答案 2 :(得分:0)
使用java和saxparser,处理DefaultHandler类并在
中写入数据public void startElement(String namecpaceUri, String localName, String qName, Attributes attrs){}
public void endElement(String namecpaceUri, String localName, String qName){}
其中String qName - 就是您需要的全部内容。
答案 3 :(得分:0)
我最后只使用氧气。这对我有用吗。