如何使用XML发送Ampersand和文本

时间:2015-11-17 02:30:22

标签: asp.net xml rest

我正在将xml参数发送到休息服务,如下所示

<Envelope xmlns="http://w3gana/2003/05/soap-envelope">
<Header>
<To xmlns="http://www.w3.svc</To>    
</Header>
<Body>
<tns:RetRES>
  <tns:EmpDef>        
        <studyChar>
          <I2:code code="QA Last" />
          <I2:value value="BDA & MAST" />
        </studyChar>         
    </I2:planStd>
  </tns:EmpDef>
 </tns:RetRES>
</Body>
</Envelope>

它抛出错误,例如“有一个未封闭的文字字符串第1行”,但它接受了字母表。

我尝试过跟随字符串而不是&amp;但我仍然得到同样的错误。

&安培; &安培; &安培; &安培; &安培;

请帮助解决此问题

4 个答案:

答案 0 :(得分:2)

我认为您可能正在寻找的是:&amp; amp

你可以用它代替&amp;当用XML编码时,某些字符在XML中使用是非法的,例如&lt;,和&gt;。

答案 1 :(得分:0)

<To xmlns="http://www.w3.svc</To> 

你错过了网址后的引号

<To xmlns="http://www.w3.svc"</To> 

如果没有,请点击此链接 How do I escape ampersands in XML so they are rendered as entities in HTML?

答案 2 :(得分:0)

您可能忘记关闭To代码

<To xmlns="http://www.w3.svc"></To>

如果它没有修复它,你可能想尝试逃避它。

<I2:value value="BDA \& MAST" />

<I2:value value="BDA &amp; MAST" />

<I2:value value="BDA %26amp; MAST" />

答案 3 :(得分:0)

如果你问如何逃避&符号,你试过吗? <a href="#" onclick="$('#importPopup').dialog('open');return false;"><img src="import.png" class="btn btn-default btn-xs" title="Importfrom file" data-toggle="tooltip" data-placement="bottom" /></a> <a href="#" onclick="return false;" ng-click="myViewModel.ExportFile()"><img src="export.png" class="btn btn-default btn-xs" title="Export to file" data-toggle="tooltip" data-placement="bottom" /></a> <div id="importPopup" title="Import"> <p><input type="file" id="file_upload" name="file_upload" /></p> <p><input type="button" class="_button" value="Import File" ng-click="myViewModel.ImportFile()" /></p> </div>

另外,你没有关闭你的To标签......它缺少一个引号和括号。