繁体   English   中英

如何从XML中嵌入XML

[英]How to get embbed XML from XML

我有一个小问题,在向serwer发送请求时我得到了带有嵌入式xml的xml。 应用程序适用于Android 2.1,所以我不能只使用getTextContent()来获取值,所以我使用的是Node.getFirstChild().getNodeValue(); 对于带有文本的标准节点,它可以正常工作,但对于包含嵌入式xml的节点,它不是。 有人有任何建议或有同样的问题吗? 如何解决它。

BTW:当我检查节点的类型时,所有的都是1,所以它意味着ELEMENT_NODE。

你究竟从服务器收到了什么? 就像是;

<?xml version="1.0"?>
<embedded-xml>
  <?xml version="1.0"?>
  <data/>
</embedded-xml>

要么;

<?xml version="1.0"?>
<embedded-xml>
  <data/>
</embedded-xml>

在后一种情况下,您可以简单地检索数据-node(而不是值),不需要单独解析它,而第一种情况不是完全有效的afaik。

您不能在XML文档中嵌入任意XML文档,因为XML文档可能包含对于首先嵌入XML所需的CDATA部分非法的序列。

如果任务能够嵌入,然后提取任意XML文档,则必须对XML文档进行编码,然后将其嵌入CDATA部分。 原因是CDATA的结束标记是“]]>”,如果(任意)嵌入文档包含CDATA部分,则该文档CDATA部分的“]]>”标记将关闭父文件中的CDATA部分。

根据我的经验,在XML中嵌入XML的最佳方法是压缩(因为Base64编码会炸毁它......)然后是Base64编码。 我采用这种方法的原因是因为它是万无一失的,并且两种变换(某种压缩器和base64 en / de-coding)可以广泛使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM