public class XMLUtils
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
XMLUtils.BGXMLEventReader |
Modifier and Type | Field and Description |
---|---|
protected static java.util.regex.Pattern |
slashPattern |
Constructor and Description |
---|
XMLUtils() |
Modifier and Type | Method and Description |
---|---|
static void |
createTextNode(org.w3c.dom.Node node,
java.lang.String text)
Создание текстового узла - потомка.
|
static java.lang.Iterable<org.w3c.dom.Element> |
elements(org.w3c.dom.NodeList nodeList)
Делает Iterable от Element из NodeList, для удобного обхода.
|
static java.lang.String |
getAttribute(org.w3c.dom.Element element,
java.lang.String name)
Получение аттрибута элемента.
|
static java.lang.String |
getAttribute(org.w3c.dom.Element element,
java.lang.String name,
java.lang.String defaultValue)
Получение аттрибута элемента.
|
static int |
getAttributeIntValue(org.w3c.dom.Node node,
java.lang.String name,
int defaultValue)
Возвращает целочисленное значение атрибута.
|
static org.w3c.dom.Element |
getElement(org.w3c.dom.Document doc,
java.lang.String elementName)
Ищет элемент в документе по имени.
|
static java.lang.String |
getElementText(org.w3c.dom.Node node)
Вытаскивает содержимое XML-элемента в виде строки вместе со всеми дочерними тегами
|
static <E extends java.lang.Enum<E>> |
getEnumAttribute(org.w3c.dom.Element element,
java.lang.String name,
E defaultValue)
Получение аттрибута представляющего строковое значение enum-типа
|
static org.w3c.dom.Node |
getNode(org.w3c.dom.Document doc,
java.lang.String nodeName)
Берёт Node по имени тега из Document.
|
static org.w3c.dom.Document |
newDocument()
Создаёт и возвращает новый объект XML документ.
|
static org.w3c.dom.Element |
newElement(org.w3c.dom.Document parent,
java.lang.String name)
Создать элемент на родительском документе.
|
static org.w3c.dom.Element |
newElement(org.w3c.dom.Element parent,
java.lang.String name)
Создаёт объект-узел с заданным именем в родительском узле.
|
static org.w3c.dom.Document |
parseDocument(org.xml.sax.InputSource source) |
static org.w3c.dom.Document |
parseDocument(org.xml.sax.InputSource source,
boolean showError) |
static void |
parseDocument(org.xml.sax.InputSource source,
org.xml.sax.ContentHandler handler) |
static org.w3c.dom.Document |
parseDocument(java.io.InputStream stream) |
static org.w3c.dom.Document |
parseDocument(java.io.InputStream stream,
boolean showError) |
static void |
prepareElementToSerialize(org.w3c.dom.Node el)
Подготавливает элемент к XML сериализации, заменяет запрещённые символы на \\u{code}.
|
static java.lang.String |
prepareString(java.lang.StringBuilder buf,
java.lang.String nodeValue)
Подготавливает строки к XML сериализации, заменяет запрещённые символы на \\u{code}.
|
static org.w3c.dom.Element |
selectElement(org.w3c.dom.Node node,
java.lang.String expression)
Возвращает элемент по XPath expression.
|
static java.lang.Iterable<org.w3c.dom.Element> |
selectElements(org.w3c.dom.Node node,
java.lang.String expression) |
static org.w3c.dom.Node |
selectNode(org.w3c.dom.Node node,
java.lang.String expression)
Возвращает Node по XPath expression.
|
static org.w3c.dom.NodeList |
selectNodeList(org.w3c.dom.Node node,
java.lang.String expression)
Возвращает NodeList по XPath expression.
|
static java.lang.String |
selectText(org.w3c.dom.Node node,
java.lang.String expression)
Выборка строкового значения по xpath.
|
static java.lang.String |
selectText(org.w3c.dom.Node node,
java.lang.String expression,
java.lang.String defaultValue)
Выборка строкового значения по xpath.
|
static void |
serialize(org.w3c.dom.Node node,
java.io.OutputStream os,
java.lang.String encoding)
Сериализует в выходной поток с указанием кодировки.
|
static void |
serialize(org.w3c.dom.Node node,
javax.xml.transform.Result result,
java.lang.String encoding)
Сериализует в Result, отступ - false.
|
static void |
serialize(org.w3c.dom.Node node,
javax.xml.transform.Result result,
java.lang.String encoding,
boolean indent) |
static void |
serialize(org.w3c.dom.Node node,
java.io.Writer writer)
Сериалует в Writer.
|
static void |
serialize(org.w3c.dom.Node node,
java.io.Writer writer,
java.lang.String encoding)
Сериализует в Writer.
|
static void |
setAttribute(org.w3c.dom.Element element,
java.lang.String name,
java.lang.String value)
Установка значения атрибута, только если оно не равно null.
|
static void |
transform(javax.xml.transform.Source xml,
javax.xml.transform.Source xslt,
javax.xml.transform.Result res,
java.lang.String enc)
Трансформация xml+xstl→выход
|
public static java.lang.String getElementText(org.w3c.dom.Node node)
node
- public static final org.w3c.dom.Document newDocument()
public static final org.w3c.dom.Element newElement(org.w3c.dom.Element parent, java.lang.String name)
parent
- родительский узел.name
- имя нового узла.public static final org.w3c.dom.Element newElement(org.w3c.dom.Document parent, java.lang.String name)
parent
- name
- public static void createTextNode(org.w3c.dom.Node node, java.lang.String text)
node
- узелtext
- текстpublic static void setAttribute(org.w3c.dom.Element element, java.lang.String name, java.lang.String value)
element
- элементname
- имя аттрибутаvalue
- значение аттрибутаpublic static org.w3c.dom.Document parseDocument(java.io.InputStream stream)
public static org.w3c.dom.Document parseDocument(java.io.InputStream stream, boolean showError)
public static org.w3c.dom.Document parseDocument(org.xml.sax.InputSource source)
public static org.w3c.dom.Document parseDocument(org.xml.sax.InputSource source, boolean showError)
public static void parseDocument(org.xml.sax.InputSource source, org.xml.sax.ContentHandler handler)
public static org.w3c.dom.Element getElement(org.w3c.dom.Document doc, java.lang.String elementName)
doc
- elementName
- public static org.w3c.dom.Node getNode(org.w3c.dom.Document doc, java.lang.String nodeName)
doc
- документnodeName
- имя узлаfindElement
public static org.w3c.dom.Element selectElement(org.w3c.dom.Node node, java.lang.String expression)
node
- expression
- XPath expressionselectNode( Node, String )
public static org.w3c.dom.Node selectNode(org.w3c.dom.Node node, java.lang.String expression)
node
- expression
- XPath expressionpublic static org.w3c.dom.NodeList selectNodeList(org.w3c.dom.Node node, java.lang.String expression)
node
- expression
- XPath expressionpublic static java.lang.Iterable<org.w3c.dom.Element> selectElements(org.w3c.dom.Node node, java.lang.String expression)
public static java.lang.Iterable<org.w3c.dom.Element> elements(org.w3c.dom.NodeList nodeList)
nodeList
- исходный NodeListpublic static java.lang.String selectText(org.w3c.dom.Node node, java.lang.String expression)
selectText( Node, String, String )
public static java.lang.String selectText(org.w3c.dom.Node node, java.lang.String expression, java.lang.String defaultValue)
<data><payment cardnumber="111">... /data/payment/@cardnumber2) запрос текстового значения ноды
...<operation><pursesrc>текст</pursesrc>... /operation/pursesrc/text()3) не от корня, а относительно - начиная не со сшеша
node
- ноде корневойexpression
- xpathdefaultValue
- значение по умолчаниюselectNode(org.w3c.dom.Node, java.lang.String)
public static java.lang.String getAttribute(org.w3c.dom.Element element, java.lang.String name)
element
- элементname
- имя аттрибутаpublic static java.lang.String getAttribute(org.w3c.dom.Element element, java.lang.String name, java.lang.String defaultValue)
element
- элементname
- имя аттрибутаdefaultValue
- значение по умолчанию.public static <E extends java.lang.Enum<E>> E getEnumAttribute(org.w3c.dom.Element element, java.lang.String name, E defaultValue)
E
- тип, представляющий enum (!)element
- dom-элементname
- имя аттрибутаdefaultValue
- значение по умолчанию, отсюда же берётся тип/класс (генерик же
используется, чтобы отдельно тип не передавать)public static int getAttributeIntValue(org.w3c.dom.Node node, java.lang.String name, int defaultValue)
node
- name
- defaultValue
- public static void serialize(org.w3c.dom.Node node, java.io.OutputStream os, java.lang.String encoding)
node
- os
- encoding
- public static void serialize(org.w3c.dom.Node node, java.io.Writer writer)
node
- writer
- public static void serialize(org.w3c.dom.Node node, java.io.Writer writer, java.lang.String encoding)
node
- writer
- public static void serialize(org.w3c.dom.Node node, javax.xml.transform.Result result, java.lang.String encoding)
node
- result
- encoding
- public static void serialize(org.w3c.dom.Node node, javax.xml.transform.Result result, java.lang.String encoding, boolean indent)
public static void prepareElementToSerialize(org.w3c.dom.Node el)
el
- исходный элемент в теле, названии, дочерних элементах и атрибутах возможны запрещённые символы.public static java.lang.String prepareString(java.lang.StringBuilder buf, java.lang.String nodeValue)
buf
- вспомогательный буфер, в который складывается результат, чтобы не выделять каждый раз заново.nodeValue
- исходная строка, где возможны запрещённые символы.public static void transform(javax.xml.transform.Source xml, javax.xml.transform.Source xslt, javax.xml.transform.Result res, java.lang.String enc) throws javax.xml.transform.TransformerException
xml
- исходный документ xml в виде Source.xslt
- исходный документ xslt в виде Source.res
- результат (например, готовый FO-документ) в виде Result.enc
- кодировка.javax.xml.transform.TransformerException
- ошибка трансформации.