original-characters-stax-xml-parser
A Stax Parser Wrapper with original texts from input XML.
This library is useful to parse and modify XML, with preserving original characters and original XML
structures.
exmple: preserving spaces and indent tabs, don't extract &#{unicode};
, don't replace >
with >
, don't replace XML empty tag...
This is a simple wrapper to Woodstox Stax2 XML Parser.
Usage
This library is published to Maven Central Repository.
Ensure mavenCentral()
is declared.
settings.gradle.kts
dependencyResolutionManagement {
repositories {
mavenCentral()
}
}
Add dependencies.
build.gradle.kts
dependencies {
implementation("io.github.irgaly.xml:original-characters-stax:1.1.0")
}
Then use library!
Class Documents
There are KDoc references.
OriginalCharactersStaxXml class sample.
This class is a simple wrapper class to Woodstox's WstxEventReader class.
val inputStream = File("input.xml").inputStream()
val parser = OriginalCharactersStaxXmlParser(inputStream)
while (parser.hasNext()) {
val event = parser.nextEvent()
println("original text:[${event.originalText}]")
}
parser.close()
parser.nextEvent() returns XmlEvent, that has both of Stax original Event and XML original Text.
event.event
event.originalText
That sample code's input and output is below.
input.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<reference>' &</reference>
<surrogate>🚭</surrogate>
<empty></empty>
</resources>
outputs
original text:[<?xml version="1.0" encoding="utf-8"?>]
original text:[
]
original text:[<!-- header comment -->]
original text:[
]
original text:[<resources>]
original text:[
]
original text:[<!-- comment1 -->]
original text:[
]
original text:[<reference>]
original text:[' &]
original text:[</reference>]
original text:[
]
original text:[<surrogate>]
original text:[🚭]
original text:[</surrogate>]
original text:[
]
original text:[<empty>]
original text:[</empty>]
original text:[
]
original text:[</resources>]
original text:[
]
original text:[<!-- footer comment -->]
original text:[]
More documentation for Stax2