我对xml非常新。我正在开发一个使用xml文件的应用程序。我在Google的帮助下创建了这个文件。我的示例xml文件是:
<?xml version="1.0"?>
<gamelist>
<game>
<title>Driver</title>
<code><EMBED src="http://www.pnflashgames.com/modules/pnFlashGames/games/racer.swf"></EMBED></code>
<rating>4</rating>
</game>
<game>
<title>ConeCrazy</title>
<code><EMBED src="http://www.pnflashgames.com/modules/pnFlashGames/games/ConeCrazy.swf"></EMBED></code>
<rating>3</rating>
</game>
</gamelist>
在上面的文件中,代码元素有嵌入标记。对于我的应用程序,我需要将标签嵌入为字符串。在代码元素中,如果我使用任何字符串而不是嵌入标记,我可以读取该字符串。如果我使用embed标签,我会收到这样的错误:
[致命错误] gamelist.xml:5:103:对实体“pn_uname”的引用必须以“;”结尾delimeter。
我正在使用Java来读取xml文件。在我的Java类中,我希望将整个embed标记作为字符串。
答案 0 :(得分:5)
我认为您不是使用合适的工具(DOM API)生成XML,而是通过连接字符串。
如果进一步假设您在问题中显示的XML不是触发错误的XML。
我认为你有这样的事情:
<EMBED src="http://foo/bar/racer.swf?bla&pn_uname=baz"></EMBED>
这会触发一条错误消息,指出字符实体“pn_uname”格式不正确。
表达上述内容的正确方法是:
<EMBED src="http://foo/bar/racer.swf?bla&pn_uname=baz"></EMBED>
...使用API生成XML的内容会自动为您处理。避免使用字符串连接来生成XML。
答案 1 :(得分:4)
要将html代码作为值放在XML元素中,您必须对其进行编码:
<?xml version="1.0"?>
<gamelist>
<game>
<title>Driver</title>
<code><EMBED src="http://www.pnflashgames.com/modules/pnFlashGames/games/racer.swf"></EMBED></code>
<rating>4</rating>
</game>
<game>
<title>ConeCrazy</title>
<code><EMBED src="http://www.pnflashgames.com/modules/pnFlashGames/games/ConeCrazy.swf"></EMBED></code>
<rating>3</rating>
</game>
</gamelist>