我正在努力尝试更多地了解DTD和XML,但遇到了一个问题。实际上,我已经理解了DTD和XML的语法,但是我正在处理Visual Studio代码,但无法执行该代码。
我如何执行解码以仅查看文本,例如:使用图片Here中的代码,我想获得:
Tove Jani提醒这个周末别忘了我!
但是我还没有找到执行此代码的任何方法。谢谢您的帮助 !
您可以使用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只是一个例子。