【问题标题】:Perl XML::DOM parser with entity inside the attributePerl XML::DOM 解析器与属性内的实体
【发布时间】:2022-11-04 01:11:50
【问题描述】:

当我使用 XML::DOM 解析 XML 时,属性内的实体被移到了标签之外。

use XML::DOM;
my $parser = new XML::DOM::Parser;
my $doc = $parser->parsefile("demo.xml");
print $doc->toString;

示例演示 XML 文件

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE candy SYSTEM "demo.dtd">
<candy>
   <product id="1">Mints</product>
   <product id="xx&ast;yy">Chocolate</product>
   <product id="3">Circus Peanuts</product>
</candy>

但在输出中,第二个产品属性 id 中的“*”实体被移到了标签之外。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE candy SYSTEM "demo.dtd">
<candy>
  <product id="1">Mints</product>
  &ast;<product id="xxyy">Chocolate</product>
  <product id="3">Circus Peanuts</product>
</candy>

我需要 XML 原样。

【问题讨论】:

    标签: xml parsing


    【解决方案1】:

    使用 junk * 代替 ast 实体,perl 无法解析实体

    【讨论】:

      猜你喜欢
      • 2013-07-24
      • 2012-02-26
      • 2011-05-09
      • 1970-01-01
      • 2013-06-17
      • 2012-09-27
      • 2011-06-28
      • 1970-01-01
      • 2020-07-26
      相关资源
      最近更新 更多