我如何执行XML和DTD?

问题描述 投票:0回答:1

我正在努力尝试更多地了解DTD和XML,但遇到了一个问题。实际上,我已经理解了DTD和XML的语法,但是我正在处理Visual Studio代码,但无法执行该代码。

我如何执行解码以仅查看文本,例如:使用图片Here中的代码,我想获得:

Tove Jani提醒这个周末别忘了我!

但是我还没有找到执行此代码的任何方法。谢谢您的帮助 !

xml dtd
1个回答
0
投票

您可以使用xmlstarlet之类的工具来针对DTD验证XML。这是xmlstarlet帮助中的示例:

Usage: xmlstarlet val <options> [ <xml-file-or-uri> ... ]
where <options>
  -w or --well-formed        - validate well-formedness only (default)
  -d or --dtd <dtd-file>     - validate against DTD
  --net                      - allow network access
  -s or --xsd <xsd-file>     - validate against XSD schema
  -E or --embed              - validate using embedded DTD
...

根据您的情况,适当的命令可能如下所示:

xmlstarlet val -d note.dtd note.xml

获取字符串值

Tove Jani提醒这个周末别忘了我!

您必须使用XPath。您所用的XPath-1.0表达式可以是:

normalize-space(/note)

然后将这个XPath-1.0表达式传递给例如xmlstarlet之类的>>

xmlstarlet sel -t -v 'normalize-space(/note)' note.xml

以获得理想的结果。当然,您可以使用其他工具。 xmlstarlet只是一个例子。

© www.soinside.com 2019 - 2024. All rights reserved.