我有这个嵌套的golang结构:
// TierRequest is the outer most XML envelope of soap request
type TierRequest struct {
XMLName xml.Name `xml:"soapenv:Envelope"`
NsEnv string `xml:"xmlns:soapenv,attr"`
NsType string `xml:"xmlns:typ,attr"`
Header string `xml:"soapenv:Header"`
// TierBody is an emtpy container with the GetCollectorProfile struct
type TierBody struct {
GetCollectorProfiles GetCollectorProfile `Collectorxml:"typ:GetCollectorProfileRequest"`
}
// GetCollectorProfile struct has the context and collector number
type GetCollectorProfile struct {
Contexts CollectorContext `xml:"typ:Context"`
Number int `xml:"typ:CollectorNumber"`
}
// CollectorContext contanins a few variables as attributes
type CollectorContext struct {
Channel string `xml:"Channel,attr"`
Source string `xml:"Source,attr"`
Language string `xml:"LanguageCode,attr"`
}
当我使用值对其进行初始化并进行封送处理时,encoding/xml
它看起来像这样:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:typ="http:/www.yahoo.com/tp/ets/2008/04/01/collector/types">
<soapenv:Header></soapenv:Header>
<soapenv:Body>
<GetCollectorProfiles>
<typ:Context Channel="WEB" Source="WEB" LanguageCode="en-CA"></typ:Context>
<typ:CollectorNumber>50000</typ:CollectorNumber>
</GetCollectorProfiles>
</soapenv:Body>
</soapenv:Envelope>
我怎样才能摆脱的结束标记soapenv:Header
和typ:Context
,所以它只是看起来像<soapenv:Header/>
?
没有内容 的 元素和
结束标记
在XML级别上没有区别:
<soapenv:Header></soapenv:Header>
和一个 空元素标签 :
<soapenv:Header/>
要控制使用哪种格式,您必须将数据视为文本而不是XML,但最好不要担心没有区别的区别。
[为完整性而添加]
…不明确和过时的建议
为了实现互操作性,对于声明为EMPTY的元素,应该使用且仅应使用empty-element标签。
关于与SGML的互操作性:
互操作性
[定义:标记一个描述非约束性建议的句子,以增加XML文档可以被SGML处理器的现有安装基础处理的可能性,该基础早于ISO
8879的WebSGML适应附件。]
我正在使用Xerces库在文档中编写XML。为此,我使用OutputFormat类在XMLSerializer中传递OutputFormat的对象。但我所有的空xml元素都转换为自动关闭的xml元素。 我想要这个: 但它的到来就像 我尝试了以下代码: 有人能帮我解决这个问题吗。 谢谢
问题内容: 作为我对登录功能的Selenium测试的一部分,我想通过识别按钮的坐标并指示Selenium单击这些坐标来单击按钮。无需标识元素本身即可完成此操作(通过id,xpath等)。 我知道还有其他更有效的方式来运行click命令,但是我希望专门使用这种方法来最好地匹配用户体验。谢谢。 问题答案: 硒不会让你这样做。
问题内容: 我有一个(旧的)工具,该工具不了解像这样的自动关闭标签。所以,我们需要序列与这样的开启/关闭的标签我们的XML文件:。 目前我有: 如何使用打开/关闭的标签进行序列化? 解 由wildwilhelm给出,如下: 问题答案: 似乎标签已分配了的属性: 如果将标记的属性设置为空字符串,则应获得所需的内容: 考虑到这一点,您可能可以在编写XML之前遍历DOM树并修复属性。像这样:
为什么我在java中调用方法而不创建实例?在这里输入图像描述
根据一个字符串创建一个元素(不附加到 document )。 如果给定的字符串包含多个元素,则只返回第一个元素。 使用 document.createElement() 来创建一个新的元素。 将它的 innerHTML 设置为作为参数提供的字符串。 使用 ParentNode.firstElementChild 来返回字符串的元素版本。 const createElement = str => {