我想用SAX Xerces C ++解析XML文件,同时忽略任何空格,回车符和不在元素属性内或开始和结束元素内的制表符。我想忽略空格,回车和标签之间的标签。
例如,在以下XML文件中:
<tag1 attr1="val 1"><tag2>my text here</tag2>
[这里有很多空格] </tag1>
我想在字符串'val 1','my text here'中保留空格,但忽略回车符,以及结尾</tag2>
和结尾</tag1>
之间的许多空格字符
我尝试在startElement()
中将布尔标志'withinElement'设置为true,并在endElement()
方法中设置为false,但这并不妨碍我忽略</tag2>
之间的空格字符和</tag1>
例如。
应该在characters()
方法中完成吗?
以及如何实现它,因为似乎没有办法知道调用characters()
方法时的确切位置?
答案 0 :(得分:0)
您可以要求解析器验证XML文件,然后您将通过ignorableWhitespace
方法获得所有可忽略的空白,并通过characters
获得“好”空白。