我有以下XML代码,我 使用SimpleXML:
<CATEGORY_TREE>/Gry/Puzzle/puzzle/</CATEGORY_TREE>
<CATEGORY_NAME>/Gry/Puzzle/puzzle/</CATEGORY_NAME>
$node->CATEGORY_TREE
返回/Gry/Puzzle/puzzle/
这是正确的。
获取原始值/Gry/Puzzle/puzzle/
的任何方式?
答案 0 :(得分:1)
仅使用不使用基于LibXML2的XML解析器(SimpleXML,DOM,XMLReader)。它们都强制替换预定义的实体。
请注意,在保存时,libxml2强制执行转换 必要时预定义的实体以防止格式良好 问题,也将透明地取代有字符的那些(即 它不会在DOM树或调用中生成实体引用元素 在输入中找到它们时的reference()SAX回调。)
对于XML解析器'/'和'+'是相等的。要将实体存储在XML中,必须转义其&
。如果您在DOM中将其创建为文本节点,您将看到DOM将为序列化执行此操作:
$document = new DOMDocument();
$document
->appendChild($document->createElement('CATEGORY_TREE'))
->appendChild($document->createTextNode('/Gry/Puzzle/puzzle/'));
echo $document->saveXml();
输出:
<?xml version="1.0"?>
<CATEGORY_TREE>/Gry&#47;Puzzle/puzzle/</CATEGORY_TREE>
答案 1 :(得分:-1)
使用html_entity_decode()函数:
<?php
echo html_entity_decode($node->CATEGORY_TREE);