首页  >  问答  >  正文

java - 怎么用xml传输html?

问题是这样的,公司内部服务器之间数据传输协议时xml,我现在需要用serverA请求serverB,发送用户注册邮件,邮件模板里面有html代码,serverB在收到请求数据后,由于html中有<、>等特殊符号的缘故,导致xml无法解析,一时不知道怎么办,各位有解决办法木有?

如果在发送端不对html代码进行任何处理,接收到解析就会异常:

[Fatal Error] :1:1: Content is not allowed in prolog.
巴扎黑巴扎黑2765 天前404

全部回复(4)我来回复

  • 阿神

    阿神2017-04-17 11:17:06

    <![CDATA[ 在这里插入你的 HTML 代码。符合标准的 HTML 代码不会有 XML CDATA 的结束符的。 ]]>
    

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-17 11:17:06

    在 xml 的正文或属性中使用 > < & 之类的字符必须转义,请搜索“xml 转义”+ 你所用的语言

    回复
    0
  • PHPz

    PHPz2017-04-17 11:17:06

    Try BASE64.

    回复
    0
  • 黄舟

    黄舟2017-04-17 11:17:06

    酷壳有个答案 http://coolshell.cn/articles/3498.html。虽然像是笑话,不过确实是那么回事:

    <!-- ED: soap envelope omitted for readability -->
    <string xmlns="urn:Initech.Global.Services">
      &lt;CompanyGetConnector&gt;
        &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
          &lt;xs:element name="InitechGetConnector"&gt;
            &lt;xs:complexType&gt;
              &lt;xs:choice maxOccurs="unbounded"&gt;
                &lt;xs:element name="employees"&gt;
                  &lt;xs:complexType&gt;
                    &lt;xs:sequence&gt;
                      &lt;xs:element name="EmployerName" type="xs:string" minOccurs="0"/&gt;
                      &lt;xs:element name="Employee" type="xs:string" minOccurs="0"/&gt;
                      &lt;xs:element name="Firstname" type="xs:string" minOccurs="0"/&gt;
                      &lt;xs:element name="Prefix" type="xs:string" minOccurs="0"/&gt;
                      &lt;xs:element name="Lastname" type="xs:string" minOccurs="0"/&gt;
                      &lt;xs:element name="Org._unit" type="xs:string" minOccurs="0"/&gt;
                      &lt;xs:element name="Function" type="xs:string" minOccurs="0"/&gt;
                      &lt;xs:element name="E-mail_work" type="xs:string" minOccurs="0"/&gt;
                      &lt;xs:element name="Telephone_work" type="xs:string" minOccurs="0"/&gt;
                      &lt;xs:element name="Mobile_work" type="xs:string" minOccurs="0"/&gt;
                      &lt;xs:element name="Birthdate" type="xs:date" minOccurs="0"/&gt;
                      &lt;xs:element name="Hired_since__irt._yearsemployed_" type="xs:date" minOccurs="0"/&gt;
                      &lt;xs:element name="Image" type="xs:base64Binary" minOccurs="0"/&gt;
                    &lt;/xs:sequence&gt;
                  &lt;/xs:complexType&gt;
                &lt;/xs:element&gt;
              &lt;/xs:choice&gt;
            &lt;/xs:complexType&gt;
          &lt;/xs:element&gt;
        &lt;/xs:schema&gt;
    
        &lt;employees&gt;
          &lt;EmployerName&gt;
            My Client
          &lt;/EmployerName&gt;
          &lt;Employee&gt;
            100001
          &lt;/Employee&gt;
        &lt;/employees&gt;
      &lt;/CompanyGetConnector&gt;
    </string>
    

    回复
    0
  • 取消回复