VTD-XML可以将String作为输入吗?

Con*_*ept 4 java xml parsing vtd-xml

嘿,我正在尝试使用VTD-XML来解析作为String给出的XML,但我找不到如何做到这一点.任何帮助,将不胜感激.

http://vtd-xml.sourceforge.net

hel*_*ios 5

似乎VTD-XML库允许您读取字节数组数据.在这种情况下,我建议使用正确的编码将String转换为字节.

如果在XML字符串的开头有一个编码信号:

<?xml version="1.0" encoding="UTF-8"?>
Run Code Online (Sandbox Code Playgroud)

然后使用:

myString.getBytes("UTF-8")
Run Code Online (Sandbox Code Playgroud)

如果没有编码,请使用一个,因为VTD-XML知道如何解码字节:

String withHeader  = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + myString;
byte[] bytes = withHeader.getBytes("UTF-8");
VTDGen vg = new VTDGen();
vg.setDoc(bytes);
vg.parse(true);
Run Code Online (Sandbox Code Playgroud)

请注意,在后一种情况下,您可以使用任何有效的编码,因为您在内存中的字符串是encoding-agnosting(它是UTF-16,但是当您要求字节时它将被转换).