在找到为目标机器生成拟合配置文件的方法之后,仍然必须构建交叉编译器本身.如果主机和目标系统差异太大,那么使用这里描述的1 1/2构建的方法(以及更多细节,这里)似乎不起作用.这是构建脚本的更改部分(可以使用获得$ svn cat svn://svn.psellos.com/trunk/ocamlxarm/3.1/xarm-build)
# Small steps
config1 () {
# Configure for building bytecode interpreter to run on Intel OS X.
# But specify * architecture for assembly and partial link.
echo 'xarm-build: ----- configure phase 1 -----'
./configure \
-prefix "" \
-no-curses \
-no-tk \
-no-graph \
-as "" \
-aspp ""\
-partialld ""
# Post-modify config/Makefile to select the * back end for
# ocamlopt (to generate …Run Code Online (Sandbox Code Playgroud) 众所周知,XML文档中不允许使用某些字符范围.我知道过滤掉这些字符的解决方案(如[1],[2]).
按照不要重复自己的原则,我宁愿在一个中心点实现其中一个解决方案 - 现在,我必须在输入之前清理任何可能不安全的文本lxml.有没有办法实现这一点,例如通过继承lxml过滤器类,捕获一些异常或设置配置开关?
编辑:希望有点澄清这个问题,这里是一个示例代码:
from lxml import etree
root = etree.Element("root")
root.text = u'\uffff'
root.text += u'\ud800'
print(etree.tostring(root))
root.text += '\x02'.decode("utf-8")
Run Code Online (Sandbox Code Playgroud)
执行此操作会得到结果
<root>�</root>
Traceback (most recent call last):
File "[…]", line 9, in <module>
root.text += u'\u0002'
File "lxml.etree.pyx", line 953, in lxml.etree._Element.text.__set__ (src/lxml/lxml.etree.c:44956)
File "apihelpers.pxi", line 677, in lxml.etree._setNodeText (src/lxml/lxml.etree.c:20273)
File "apihelpers.pxi", line 1395, in lxml.etree._utf8 (src/lxml/lxml.etree.c:26485)
ValueError: All strings must be XML compatible: Unicode or ASCII, no …Run Code Online (Sandbox Code Playgroud) 我需要构建一个OCaml交叉编译器.遗憾的是,它似乎不支持开箱即用,需要一些工作,如旧版OCaml编译器所述.
我的第一个问题是:生成文件config/mh,config/sh和config/Makefile的好方法是什么 ?
我想使用PHP 标准库的DOM部分对PHP文档执行某些操作.正如其他人已经发现的那样,人们必须处理解码后的实体.为了说明困扰我的是什么,我举了一个简单的例子.
假设我们有以下代码
$doc = new DOMDocument();
$doc->loadXML(<XML data>);
$xpath = new DOMXPath($doc);
$node_list = $xpath->query(<some XPath>);
foreach($node_list as $node) {
//do something
}
Run Code Online (Sandbox Code Playgroud)
如果循环中的代码是类似的
$attr = "<some string>";
$val = $node->getAttribute($attr);
//do something with $val
$node->setAttribute($attr, $val);
Run Code Online (Sandbox Code Playgroud)
它工作正常.但如果它更像
$text = $node->textContent;
//do something with $text
$node->nodeValue = $text;
Run Code Online (Sandbox Code Playgroud)
并且$text包含一些已解码的&,它不会被编码,即使根本没有做任何事情$text.
此刻,我申请的htmlspecialchars上$text之前,我设置$node->nodeValue它.现在我想知道
我必须处理的XML文档主要是feed,因此解决方案应该非常通用.
编辑
事实证明我的原始问题的范围是错误的,对不起.在这里,我提供了一个实际描述行为的例子.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://feeds.bbci.co.uk/news/rss.xml?edition=uk");
curl_setopt($ch, …Run Code Online (Sandbox Code Playgroud)