[英]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.