Class XMLUtils
java.lang.Object
org.bgerp.util.xml.XMLUtils
- Direct Known Subclasses:
XMLUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcreateTextNode(Node node, String text) Создание текстового узла - потомка.Делает Iterable от Element из NodeList, для удобного обхода.static ElementgetElement(Document doc, String elementName) Ищет элемент в документе по имени.static StringgetElementText(Node node) Extracts content of a XML element as a string with all sub-tags.static StringgetElementText(Node node, Set<String> skipNodeNames) Extracts content of a XML element as a string with all sub-tags.static NodeБерёт Node по имени тега из Document.static final DocumentСоздаёт и возвращает новый объект XML документ.static final ElementnewElement(Document parent, String name) Создать элемент на родительском документе.static final ElementnewElement(Element parent, String name) Создаёт объект-узел с заданным именем в родительском узле.static DocumentparseDocument(InputStream stream) static DocumentparseDocument(InputSource source) static ElementselectElement(Node node, String expression) Возвращает элемент по XPath expression.selectElements(Node node, String expression) static NodeselectNode(Node node, String expression) Возвращает Node по XPath expression.static NodeListselectNodeList(Node node, String expression) Возвращает NodeList по XPath expression.static StringselectText(Node node, String expression) Выборка строкового значения по xpath.static StringselectText(Node node, String expression, String defaultValue) Выборка строкового значения по xpath.static voidserialize(Node xml, OutputStream result, String encoding, boolean pretty)
-
Constructor Details
-
XMLUtils
public XMLUtils()
-
-
Method Details
-
getElementText
-
getElementText
-
newDocument
-
newElement
-
newElement
-
createTextNode
-
parseDocument
-
parseDocument
-
getElement
-
getNode
-
selectElement
-
selectNode
-
selectNodeList
-
selectElements
-
elements
-
selectText
-
selectText
Выборка строкового значения по xpath. То есть практически тоже самое, что selectNode, только от него возвращается node value, либо null, если что-то не найдено или какая-то ошибка (нуть не должен возвращать текст итд) Может возвращать и значения текстовых нод и значения атрибутов, универсальная.
В целом, не предназначен для выборок вроде selectText( node, "@selected", null), потому что в том что getAttribute возвращает не null, а пустую строку нет ничего страшного. Тем более есть метод, который и null возвращает и работает быстрее.
Примеры запросов:
1) запрос текстового значения атрибута<data><payment cardnumber="111">... /data/payment/@cardnumber
2) запрос текстового значения ноды...<operation><pursesrc>текст</pursesrc>... /operation/pursesrc/text()
3) не от корня, а относительно - начиная не со сшеша
4) искать где попало - два слеша
5) и т.д., ну вы поняли- Parameters:
node- ноде корневойexpression- xpathdefaultValue- значение по умолчанию- Returns:
- строка
- See Also:
-
serialize
public static void serialize(Node xml, OutputStream result, String encoding, boolean pretty) throws Exception - Throws:
Exception
-