xml - 防止 Jsoup Element 对象标签小写
问题描述
我是韩国人。
我英语说得不太好。
我喜欢Jsoup。
我的项目中需要 XML(soap) 解析。
我了解 Document 对象的 Parser.xmlParser() 。
但是当我使用 Element 对象更改小写字符时。
前任)
Element element = new Element("TEST") -> <test></test>
所以,我检查了这些解决方案。
[第一的]
Document document = Jsoup.parse("<soapenv:Envelope.....", "", Parser.xmlParse())
Node node = new Element("TEST")
Element element = (Element)node; -> <TEST>/<TEST>
document.getElementByTag("soapenv:Body").get(0).appendChild(element)
[第二]
Document document = Jsoup.parse("", "", Parser.xmlParse())
Element element = document.appendElement("TEST")
呜呜呜呜
有什么问题吗?
希望Element对象“new XMLElement("TEST")”或者“new HTMLElement("test")”像“new HashMap, new LinkedHashMap”接口格式....
解决方案
您通过调用遇到的问题new Element(tagname)
是没有传递给创建者的文档上下文,您希望标签区分大小写,因此 jsoup 默认为小写(HTML)行为。
以下是确保将区分大小写设置应用于新元素的几个示例方法:
Document document = Jsoup.parse("<soapenv:Envelope>Foo</soapenv:Envelop>",
"", Parser.xmlParser());
document.append("<TEST id=1>Bar</TEST>");
Element second = document.createElement("Test");
document.appendChild(second);
System.out.println(document.outerHtml());
给予:
<soapenv:Envelope>Foo</soapenv:Envelope><TEST id="1">Bar</TEST><Test></Test>
有关详细信息,请参阅Document#createElement(tagname)和Element#append(html)
推荐阅读
- javascript - CodePen Java Script 编码帮助
- css - CSS:在样式表中引用 3rd 方类
- c# - 如何在没有数据适配器的 c# windows 应用程序中从 oracle 数据库中检索数据
- swift - 来电分机上限
- javascript - 如何操作 javascript 代码以在我的导航栏中拥有三个不相互干扰的不同下拉菜单?
- c# - 如何在 C# 中运行 write-host 并打印出来
- sql - Oracle SQL - 使用时间戳查询 - 慢
- ruby-on-rails - format.js 和 format.json 在同一个 response_to
- python-3.x - 如何使用 Python Pandas 将列的日期聚合到每个人的日期列表中?
- powerbi - Power BI DAX Measure 适用于一列,但不适用于另一列