gpt4 book ai didi

java - vtd-xml 获取/删除属性名称和值

转载 作者:行者123 更新时间:2023-11-30 10:21:37 25 4
gpt4 key购买 nike

我有以下 XML 片段,我想使用 Ximpleware/VTD-XML 从中剥离属性并输出为新的 XML。来源:

<top_level>
<Item id="1">
<other_data>

目标:

<top_level>
<Item>
<other_data>

我知道我可以使用 removeAttribute(int attrNameIndex) 来执行此操作,但是我正在努力寻找合适的方法来获取 attrNameIndex。

最佳答案

这是一个带有嵌入式 xml 文档的小代码片段。它向您展示了如何删除一个属性或所有属性。

import com.ximpleware.*;
import java.io.*;

public class removeAttrNode {
public static void main(String[] s) throws VTDException, Exception{
VTDGen vg = new VTDGen(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
String xml = "<Payment attr1=' some val' attr2='some other val'><Store><![CDATA[abc]]></Store></Payment>";
vg.setDoc(xml.getBytes());
vg.parse(false); // turn off namespace awareness so that
VTDNav vn = vg.getNav();
AutoPilot ap = new AutoPilot(vn);
XMLModifier xm = new XMLModifier(vn);
ap.selectXPath("/Payment/@*");// select all attr node of Payment element
int i=0;
while((i=ap.evalXPath())!=-1){
System.out.println("attr name "+vn.toString(i)+ " attr val ==>"+ vn.toString(i+1));
xm.removeAttribute(i);
}
xm.output(baos);
System.out.println(baos.toString());
}
}

关于java - vtd-xml 获取/删除属性名称和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47773482/

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