我的脚本函数是在XHTML页面上的JSF2表单中定义的,代码的以下部分会导致问题:
<script type="text/javascript">
function myFunction(){
var checkboxes = document.getElementsByName('mycheckboxes');
if(checkboxes.length > 0){
for (var i=0; i<checkboxes.length; i++){
var checkbox = checkboxes[i];
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
尝试访问FireFox 8中的页面时,它会打印异常:
元素类型"checkboxes.length"必须后跟属性规范,">"或"/>"
这个错误是什么意思?
另一个问题是:脚本是在呈现页面之前执行的吗?因为我的复选框在页面的渲染阶段(使用JSF <ui:repeat>)加载到页面中,所以我的猜测是,当变量复选框不为空时,我必须创建条件来执行代码,我是对的吗?
我已经阅读了 % 字符的类似帖子,但似乎其他问题可以在标题行中解决。XML 中是否不允许使用某些字符,或者我是否需要以另一种方式格式化文档(在我的情况下,“=”字符在尝试在 C# 中读取文档时给我带来了麻烦)?
名称不能以字符 ' ' 开头,也类似但仍由标题固定。
XElement nodes = XElement.Load(filename);
Run Code Online (Sandbox Code Playgroud)
XML 的结构如下:
<?xml version="1.0" encoding="utf-8"?>
<offer>
<data id="Salary">
<ocrstring>which is equal to $60,000.00 if working 40 hours per week</ocrstring>
<rule>.*(([+-]?\$[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2}))</rule>
<output></output>
</data>
<data id="Hours">
<ocrstring></ocrstring>
<rule>"(?<=working).*?(?=hours)"</rule> <!-- Error Occurring Here -->
<output>bob</output>
</data>
<data id="Location">
<ocrstring></ocrstring>
<rule>Regex2</rule>
<output>LongWindingRoad222</output>
</data>
</offer>
Run Code Online (Sandbox Code Playgroud)
如何解析 XML 文档而不会出现无法以字符开头的“=”错误
我正在编写测试,因此我需要一个 XML 解析器来检测任何可能的与允许的语法的偏差。
尽管此代码包含>>:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(false);
DocumentBuilder builder = factory.newDocumentBuilder();
String oops = "<xml><oops></oops>></xml>";
ByteArrayInputStream stream = new ByteArrayInputStream(oops.getBytes());
builder.parse(stream);
Run Code Online (Sandbox Code Playgroud)
如何提高语法检查级别?抱怨任何事情,而不仅仅是>>我能找到的一点点?
(请注意,虽然本文的其他读者可能对可以做到这一点的第三方库感兴趣,但我只能使用它javax来防止项目中失控的依赖项)
我注意到当我使用"&"字符配置XML文件值时,XML文件无法正确打开
我想这是因为XML文件值不应该有一些字符作为&
并且"&"不应在XML文件中设置为值
如果有更多字符不应在XML中设置为值,请提供建议吗?(或者也许&字符是唯一的??)
来自XML"&"的错误值的示例
<FolderPath>\EEA\E1\C & W 100\AWQ</FolderPath>
Run Code Online (Sandbox Code Playgroud)
来自XML的右行示例
<FolderPath>\EEA\E1\C and W 100\AWQ</FolderPath>
Run Code Online (Sandbox Code Playgroud)