android - 如果传递 null 则创建空标签 android

标签 android xml soap ws-client

我使用 WSClient++ 生成源代码。当我将 null 值传递给对象时,我期望在生成请求 XML 时,它应该在请求 XML 中包含空标记。但当传递空值时,它似乎不会生成任何标签。例如:

SchoolRequest req = new SchoolRequest();
req.setName("Xyz");
req.setRoll(1);
req.setSub("CS");
req.setPunctual(null);

我希望请求 xml 为

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://blah.blah.blah/" xmlns:ns4="http://abc.xyz/xml" xmlns:ns5="http://blah.blah.blah" xmlns:ns6="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soap:Header />
   <soap:Body>
      <ns4:GetSchoolInfo>
         <ns4:request>
            <ns4:Name>1021</ns4:Name>
            <ns4:Roll>1.0.2.1</ns4:Roll>
            <ns4:Sub>CS</ns4:Sub>
            <ns4:Punctual/>  <----Notice this tag
         </ns4:request>
      </ns4:GetSchoolInfo>
   </soap:Body>
</soap:Envelope>

我得到了什么

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://blah.blah.blah/" xmlns:ns4="http://abc.xyz/xml" xmlns:ns5="http://blah.blah.blah" xmlns:ns6="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soap:Header />
   <soap:Body>
      <ns4:GetSchoolInfo>
         <ns4:request>
            <ns4:Name>1021</ns4:Name>
            <ns4:Roll>1.0.2.1</ns4:Roll>
            <ns4:Sub>CS</ns4:Sub>  <--Notice NO PUNCTUAL TAG
         </ns4:request>
      </ns4:GetSchoolInfo>
   </soap:Body>
</soap:Envelope>

我对这种行为一无所知。我做错了什么吗?有人能帮我解决这个问题吗?

最佳答案

SchoolRequest req = new SchoolRequest();
req.setName("Xyz");
req.setRoll(1);
req.setSub("CS");
req.setPunctual(null);

尝试 "" 而不是 null

req.setPunctual("");

""

req.setPunctual(" ");

您可以在阅读时修剪此空间。

关于android - 如果传递 null 则创建空标签 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27915911/

相关文章:

jQuery 将 HTML 表转换为 XML

wcf - 使用Delphi Client和Windows身份验证访问WCF

PHP SOAP 服务器 : instantiate with a string (xml string) instead of WSDL file (url to it)

android - 屏幕锁定时捕获返回按钮按下事件

android - 在android中自定义键盘?

android - 具有自定义 SDK 的移动推送通知提供商

html - 为什么在 ruby​​、php、asp.net mvc 等语言中使用 HTML 标记而不是 XSLT 将 XML 转换为 HTML?

java - 如何使用自己的 XML 配置来实现自定义中介器?

c# - PHP SOAP 不断返回旧结果

java - 如何通过连接到远程位置来更新 Android 数据库