Я использую DocumentBuilder для анализа XML-файлов. Однако для спецификации проекта требуется, чтобы в текстовых узлах строки, такие как "
и <
, были возвращены буквально, а не декодирован как символы (и <
).Java: Игнорирование экранов при разборе XML
Предыдущий аналогичный вопрос, Read escaped quote as escaped quote from xml, получил один ответ, который, как представляется, специфичен для Apache, а другой, который, похоже, просто не делает того, что он говорит. Я хотел бы быть опровергнуто на любой счет, однако :)
Для справки, вот некоторый код:
file = new File(fileName);
DocBderFac = DocumentBuilderFactory.newInstance();
DocBder = DocBderFac.newDocumentBuilder();
doc = DocBder.parse(file);
NodeList textElmntLst = doc.getElementsByTagName(text);
Element textElmnt = (Element) textElmntLst.item(0);
NodeList txts = textElmnt.getChildNodes();
String txt = ((Node) txts.item(0)).getNodeValue();
System.out.println(txt);
Я хотел бы, что Println(), чтобы производить такие вещи, как
"3>2"
вместо
"3>2"
что и в настоящее время происходит. Спасибо!
Можете ли вы пояснить, что вы хотите здесь, вы хотите распечатать экранированную версию или хотите, чтобы она зависела от того, как она представлена в XML? – Yishai
Yishai: Либо было бы полезно, поскольку я думаю, что может быть так, что в файле никогда нет буквенных котировок,> s и т. Д. Однако я не могу быть уверен, и если бы я был, я бы хотел их сохранить. – Personman
Не являются некотируемыми символами, например> незаконными в XML? Никогда не будет буквального>. – DJClayworth