создавать узлы XML на основе XPath в Java - PullRequest
2 голосов
/ 23 сентября 2011

У меня есть файл конфигурации, который может содержать или не содержать определенный элемент с XPath:

/configuration/server/address

Когда я пишу конфигурацию, мне нужно создать узел, если он не существует.

Node n = (Node)xp.evaluate("/configuration/server/address", configDocument, XPathConstants.NODE);

но, что неудивительно, узел равен нулю, если узел не существует в реальном файле.

ВОПРОС

ОК.Моя идея состоит в том, чтобы иметь что-то вроде File: я могу определить путь, который не существует:

File f = new File("myInexistentDir/myInexistentSubdir");

затем я вызываю f.mkdirs () и путь реплицируется вреальный мир.Возможно ли это с помощью Java-реализации XPath?

Возможные возражения.Очевидно, что не все выражения XPath являются «создаваемыми узлами».Где создать элемент "// везде"?Я бы сказал, что выражение «где угодно» не является «путем» в строгом смысле, оно больше похоже на запрос.

1 Ответ

0 голосов
/ 23 сентября 2011

Ничего подобного не существует, чего я когда-либо видел. Беглый взгляд на JavaDocs некоторых альтернативных парсеров тоже ничего не нашел. XOM возвращает объект Nodes из движка XPath, который разрешает вставки. Это может приблизить вас к тому, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...