Package org.aoju.bus.core.toolkit
Class XmlKit
java.lang.Object
org.aoju.bus.core.toolkit.XmlKit
XML工具类 此工具使用w3c dom工具,不需要依赖第三方包 工具类封装了XML文档的创建、读取、写出和部分XML操作
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void追加数据子节点,可以是Map、集合、文本static ElementappendChild(Node node, String tagName) 在已有节点上创建子节点static ElementappendChild(Node node, String tagName, String namespace) 在已有节点上创建子节点static NodeappendText(Node node, CharSequence text) 创建文本子节点static DocumentBuilderbuilder()创建 DocumentBuilderstatic String将xml节点转小写static StringcleanComment(String xmlContent) 去除XML文本中的注释内容static StringcleanInvalid(String xmlContent) 去除XML文本中的无效字符static Document创建XML文档 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,既XML在转为文本的时候才定义编码static Document创建XML文档 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,即XML在转为文本的时候才定义编码static Document创建XML文档 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,即XML在转为文本的时候才定义编码static XPath创建XPathstatic String转义XML特殊字符:static StringescapeToXml(String xml) 替换xml中特殊字符static String格式化XML输出static String格式化XML输出static ObjectgetByXPath(String expression, Object source, QName returnType) 通过XPath方式读取XML节点等信息static ElementgetElement(Document doc) 获得XML文档根节点static ElementgetElement(Element element, String tagName) 根据节点名获得第一个子节点static DocumentgetElement(Node node) 获取节点所在的Documentstatic ElementgetElementByXPath(String expression, Object source) 通过XPath方式读取XML节点等信息static Stringstatic NodegetNodeByXPath(String expression, Object source) 通过XPath方式读取XML节点等信息static NodeListgetNodeListByXPath(String expression, Object source) 通过XPath方式读取XML的NodeListstatic String根据节点名获得第一个子节点static String根据节点名获得第一个子节点static boolean给定节点是否为Element类型节点static Document将Map转换为XMLstatic String将MAP对象转换为XML格式static Document将String类型的XML转换为XML文档static voidreadBySax(File file, ContentHandler contentHandler) 使用Sax方式读取指定的XML 如果用户传入的contentHandler为DefaultHandler,则其接口都会被处理static voidreadBySax(InputStream source, ContentHandler contentHandler) 使用Sax方式读取指定的XML 如果用户传入的contentHandler为DefaultHandler,则其接口都会被处理static voidreadBySax(Reader reader, ContentHandler contentHandler) 使用Sax方式读取指定的XML 如果用户传入的contentHandler为DefaultHandler,则其接口都会被处理static voidreadBySax(InputSource source, ContentHandler contentHandler) 使用Sax方式读取指定的XML 如果用户传入的contentHandler为DefaultHandler,则其接口都会被处理static Document读取解析XML文件static DocumentreadXML(InputStream inputStream) 读取解析XML文件 编码在XML中定义static Document读取解析XML文件static Document读取解析XML文件 如果给定内容以“<”开头,表示这是一个XML内容,直接读取,否则按照路径处理 路径可以为相对路径,也可以是绝对路径,相对路径相对于ClassPathstatic DocumentreadXML(InputSource source) 读取解析XML文件 编码在XML中定义static String将XML内的所有属性大写或小写static void将XML文档写入到文件 使用Document中的编码static void将XML文档写入到文件static String将XML文档转换为String 字符编码使用XML文档中的编码,获取不到则使用UTF-8 默认非格式化输出,若想格式化请使用format(Document)static String将XML文档转换为String 字符编码使用XML文档中的编码,获取不到则使用UTF-8static String将XML文档转换为String 字符编码使用XML文档中的编码,获取不到则使用UTF-8static String将XML文档转换为String 字符编码使用XML文档中的编码,获取不到则使用UTF-8 默认非格式化输出,若想格式化请使用format(Document)static String将XML文档转换为String 字符编码使用XML文档中的编码,获取不到则使用UTF-8static String将XML文档转换为String 字符编码使用XML文档中的编码,获取不到则使用UTF-8static String将XML文档转换为String 字符编码使用XML文档中的编码,获取不到则使用UTF-8static voidtoXml(Map<String, Object> map, StringBuffer buffer) map 转xmltransElements(Element parentEle, NodeList nodeList) 将NodeList转换为Element列表 非Element节点将被忽略transElements(NodeList nodeList) 将NodeList转换为Element列表static void将XML文档写出static void将XML文档写出static voidwrite(Node node, OutputStream out, String charset, int indent) 将XML文档写出static voidwrite(Node node, OutputStream out, String charset, int indent, boolean omitXmlDeclaration) 将XML文档写出static void将XML文档写出static void将XML文档写出static <T> TXML转Java BeanXML格式字符串转换为MapXML格式字符串转换为Map 只支持第一级别的XML,不支持多级XMLXML格式字符串转换为MapXML节点转换为Map
-
Constructor Details
-
XmlKit
public XmlKit()
-
-
Method Details
-
readXML
-
readXML
-
readXML
读取解析XML文件 编码在XML中定义- Parameters:
inputStream- XML流- Returns:
- XML文档对象
-
readXML
-
readXML
读取解析XML文件 编码在XML中定义- Parameters:
source-InputSource- Returns:
- XML文档对象
-
readBySax
使用Sax方式读取指定的XML 如果用户传入的contentHandler为DefaultHandler,则其接口都会被处理- Parameters:
file- XML源文件,使用后自动关闭contentHandler- XML流处理器,用于按照Element处理xml
-
readBySax
使用Sax方式读取指定的XML 如果用户传入的contentHandler为DefaultHandler,则其接口都会被处理- Parameters:
reader- XML源Reader,使用后自动关闭contentHandler- XML流处理器,用于按照Element处理xml
-
readBySax
使用Sax方式读取指定的XML 如果用户传入的contentHandler为DefaultHandler,则其接口都会被处理- Parameters:
source- XML源流,使用后自动关闭contentHandler- XML流处理器,用于按照Element处理xml
-
readBySax
使用Sax方式读取指定的XML 如果用户传入的contentHandler为DefaultHandler,则其接口都会被处理- Parameters:
source- XML源,可以是文件、流、路径等contentHandler- XML流处理器,用于按照Element处理xml
-
parseXml
-
toString
将XML文档转换为String 字符编码使用XML文档中的编码,获取不到则使用UTF-8 默认非格式化输出,若想格式化请使用format(Document)- Parameters:
doc- XML文档- Returns:
- XML字符串
-
toString
将XML文档转换为String 字符编码使用XML文档中的编码,获取不到则使用UTF-8 默认非格式化输出,若想格式化请使用format(Document)- Parameters:
doc- XML文档- Returns:
- XML字符串
-
toString
-
toString
-
toString
-
toString
-
toString
-
toFile
-
toFile
-
format
-
format
-
write
-
write
-
write
将XML文档写出- Parameters:
node-NodeXML文档节点或文档本身out- 写出的Writer,Writer决定了输出XML的编码charset- 编码indent- 格式化输出中缩进量,小于1表示不格式化输出
-
write
public static void write(Node node, OutputStream out, String charset, int indent, boolean omitXmlDeclaration) 将XML文档写出- Parameters:
node-NodeXML文档节点或文档本身out- 写出的Writer,Writer决定了输出XML的编码charset- 编码indent- 格式化输出中缩进量,小于1表示不格式化输出omitXmlDeclaration- 是否输出 xml Declaration
-
transform
-
transform
-
createXml
创建XML文档 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,既XML在转为文本的时候才定义编码- Returns:
- XML文档
-
createXml
-
createXml
-
getElement
-
getElement
-
getElement
-
getText
-
getText
-
transElements
-
transElements
-
getByXPath
通过XPath方式读取XML节点等信息- Parameters:
expression- XPath表达式source- 资源,可以是Docunent、Node节点等returnType- 返回类型,XPathConstants- Returns:
- 匹配返回类型的值
-
getElementByXPath
-
getNodeListByXPath
-
getNodeByXPath
-
xmlToMap
-
xmlToMap
-
xmlToMap
-
xmlToMap
-
xmlToBean
-
mapToXml
-
mapToXml
-
escapeToXml
-
caseToXml
-
getField
-
builder
-
createXPath
-
cleanInvalid
-
cleanComment
-
isElement
-
append
-
appendChild
-
appendChild
-
appendText
创建文本子节点- Parameters:
node- 节点text- 文本- Returns:
- 子节点
-
escape
-
toCase
-
toXml
map 转xml- Parameters:
map- map 对象buffer- 返回字符
-