给定:
public static final String XML_POLICY =
"<?xml version="1.0"?>"
+"<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">"
+ "<cross-domain-policy>"
+ "<allow-access-from domain="*" to-ports="*" />"
+ "</cross-domain-policy>";上出现编译错误。
"<?xml version="1.0"?>"它说';‘是预期的。
等等
+"<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">"上面写着“找不到symbol,symbol: class xml and class dtds”
可能的原因是什么?IDE是Netbeans 6.8 Beta。
发布于 2009-12-04 07:10:00
您需要转义双引号-而且不只是第一行。doctype和allow-access-from行也需要它。
// Reformatted slightly to avoid scrolling :)
public static final String XML_POLICY =
"<?xml version=\"1.0\"?>"
+ "<!DOCTYPE cross-domain-policy SYSTEM \"/xml/dtds/cross-domain-policy.dtd\">"
+ "<cross-domain-policy>"
+ "<allow-access-from domain=\"*\" to-ports=\"*\" />"
+ "</cross-domain-policy>";另一种方法是在XML中使用单引号,这在大多数情况下都很好,并使代码更易于阅读:
public static final String XML_POLICY =
"<?xml version='1.0'?>"
+"<!DOCTYPE cross-domain-policy SYSTEM '/xml/dtds/cross-domain-policy.dtd'>"
+ "<cross-domain-policy>"
+ "<allow-access-from domain='*' to-ports='*' />"
+ "</cross-domain-policy>";注意,这并不是特定于Netbeans或XML的。双引号用于指示字符串的开始和结束,这就是为什么如果您想要中间有一个字符串,就需要对其进行转义。例如:
String x = "I said, \"Hello.\" The child laughed.";Java中还有各种各样的其他转义序列--更多细节请参见section 3.10.6 of the language specification。
发布于 2009-12-04 07:09:43
您必须转义字符串中的“
public static final String XML_POLICY =
"<?xml version=\"1.0\"?>" + // etc etc发布于 2009-12-04 07:12:55
read the section on escape sequences
https://stackoverflow.com/questions/1843714
复制相似问题