这是我的示例代码
<myElement> </myElement>
我尝试将上述节点值作为几个空格放入 java 变量中,但它给了我一个空字符串变量。
如何将 xml 节点的包含读取为空白
这是我的示例代码
<myElement> </myElement>
我尝试将上述节点值作为几个空格放入 java 变量中,但它给了我一个空字符串变量。
如何将 xml 节点的包含读取为空白
我不是 100% 肯定,但也许这对你有帮助。
假设你有一个这样的 XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<myElement> </myElement>
</root>
由于您没有告诉您使用的是什么,我在 SAX 中做了一个示例。请注意,如果您要阅读大量 XML,这不是最快的方法。
public class Test {
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
DefaultHandler myHandler = new MyHandler();
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
parser.parse(new File("empty.xml"), myHandler);
}
}
回调的 HandlerClass:
public class MyHandler extends DefaultHandler {
private boolean isEmpty = false;
private String fewSpace;
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
if (this.isEmpty) {
this.fewSpace = " ";
System.out.println(qName + this.fewSpace + " :)");
this.isEmpty = false;
}
}
@Override
public void characters(char[] buffer, int offset, int length) throws SAXException {
String s = new String(buffer, offset, length);
if (s.matches("\\s {1,}")) {
System.out.println("This Element has empty String");
this.isEmpty = true;
}
}
}