【问题标题】:Golang: Compare XML structuresGolang:比较 XML 结构
【发布时间】:2016-02-08 09:57:17
【问题描述】:

我需要编写一个测试来验证服务器响应。响应必须包含某些标头和 xml 正文。 首先,如何检查响应中是否存在所需的标头。 以及如何比较收到的 XML 和所需的 XML。

例如。响应必须包含标头“Serv”。并且正文必须包含带有对象“person”的xml

HTTP/1.1 200 OK
Connection: Keep-Alive
Serv: "any-string"
Content-Length: 0
Content-Type: text/xml; charset=UTF-8
<?xml version="1.0" encoding="utf-8"?>

<person>
  <name>string-value</name>
</person>

如何检查响应是否包含标头“Serv”并包含带有元素人员和名称的正文 xml

【问题讨论】:

    标签: xml testing go


    【解决方案1】:

    标题可通过http.Response.Header 访问,正文可从http.Request.Body 读取,例如通过ioutil.ReadAll。然后您可以通过标准方法将预期数据与实际数据进行比较。

    但也许您应该更多地解释实际问题出在哪里以及您尝试了什么以及失败的原因。

    【讨论】:

    • 好的,我想出了标题。但是我无法比较 XML。我正在通过 ioutil.ReadAll 或 xml.Unmarshal 阅读正文。但是我怎么知道身体包含任何特定的元素呢?
    • 如果您知道它实际上 格式良好的 xml,那么简单的 bytes.Contains("&lt;person&gt;") 就足够了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多