c# - HTTPS POST Web 服务请求格式 - 在子节点内插入多个值
问题描述
我被要求开发一个项目,该项目涉及咨询其他公司的网络服务,他们为此提供的格式如下
<message>
<serviceRequest serviceCode="service name">
.../...
</serviceRequest>
</message>&callerCode=21346&password=12012012
现在,我已经阅读了下面的链接,它给出了一个很好的答案,关于如何发出请求How to make HTTP POST web request,但我似乎无法弄清楚如何制作我被要求的格式。如何在子节点内插入多个“值”作为内联?
<serviceRequest serviceCode="service name">
解决方案
为了发出请求,我喜欢使用 Linq to XML: http: //www.dotnetcurry.com/linq/564/linq-to-xml-tutorials-examples
大约第 9 步有你想要的。
如果您对 LINQ 有很好的理解(或者可以搜索 SO) - 您可以将其与 XDocument 一起使用来创建您需要发送的对象。
因此,对于您想要的东西,它将是:
XDocument xDoc = new XDocument(
new XElement("message",
new XElement("serviceRequest ", new XAttribute("serviceCode", "service name"),
new XElement("request", "dothing1"),
new XElement("request", "dothing2")
),
new XElement("serviceRequest ", new XAttribute("serviceCode", "service name")));
应该创建如下内容:
<message>
<serviceRequest serviceCode="service name">
<request>"dothing1"</request>
<request>"dothing2"</request>
</serviceRequest>
<serviceRequest serviceCode="service name">
</serviceRequest>
</message>
推荐阅读
- jmeter-5.0 - 在使用 SharePoint 在线应用程序时,JMeter 中的 1000 个用户的空闲时间是多长?
- sql - 在 SQL Server 2017 中向名称添加检查约束
- excel - 使用另一个单元格的条件格式
- sas - 通过 EG 导入 SAS 的 CSV 在基本 SAS 中打开时不显示列名
- python - gsutil 需要 python 2.6 或 2.7。问题
- cassandra - 在 Cassandra 3.x 中,有没有办法为每个键空间设置集群使用限制?
- count - 使用 DAX 在类别中使用 maxnr 计数对象
- java - InteliJ Maven 单元测试执行类路径
- sql - 如何执行作为值存储在数据库中的 SQL 语句?
- javascript - 如何使用 jquery 或 js 将数据/值传递给选择选项?