我需要编写一个动态函数,通过动态构建元素的XPath来在ATOM xml的子树上查找元素。
为此,我编写了以下内容:
tree = etree.parse(xmlFileUrl)
e = etree.XPathEvaluator(tree, namespaces={'def':'http://www.w3.org/2005/Atom'})
entries = e('//def:entry')
for entry in entries:
mypath = tree.getpath(entry) + "/category"
category = e(mypath)
Run Code Online (Sandbox Code Playgroud)
上面的代码无法找到“类别”,因为getpath()返回的XPath没有名称空间,而XPathEvaluator e()需要名称空间。
尽管我知道我可以使用该路径并在对XPathEvaluator的调用中提供一个名称空间,但我想知道是否有可能使使用所有名称空间的getpath()返回“完全限定”的路径,因为在某些情况下这很方便案件。
(这是我先前的问题的一个附带问题:不带名称空间的Python XpathEvaluator)
JavaScript PayPal 按钮http://paypal.github.io/JavaScriptButtons/允许在 data-custom 字段中发送自定义数据。
使用 IPN 时,这些数据清晰可见且可用。
但是,我在 webhook 文档中没有发现任何对自定义数据的提及;我希望“销售完成”事件能收到一些关于自定义数据的信息。
所以我的问题是双重的:
这是一个相当大的问题:奥特莱斯没有出现在 IB 中。
重现:
1)我将变量声明为 IBOutlet,例如在我的视图控制器的 .h 文件中
@property (nonatomic, strong) IBOutlet UILabel* testlabel;
Run Code Online (Sandbox Code Playgroud)
2)我打开故事板,单击视图控制器。- 如果这是一个新项目,则没有“Outlet”列表。- 如果这是一个已定义插座的旧项目,则“插座”列表包含以前的插座,但不包含我添加的插座。
有没有人遇到同样的问题。这非常重要,因为除非我停止使用 Outlet,否则我基本上无法继续。我在发行说明中找不到有关它的任何信息。
编辑我在 youtube 上添加了一个视频来显示问题,以防我没有正确解释它。如果我忘记了一些明显的事情,我很高兴被嘲笑:) 也就是说,我一直在遵循这些相同的操作,而奥特莱斯也一直在列表中。
编辑2为了清楚起见,我删除了 ivar 声明,因为它似乎引起了大部分关注。
编辑3好的,我似乎遇到了之前在这个问题和另一个问题上看到的问题。基本上,如果我打开自定义类下拉列表,我只会看到一些“标准”类,例如 UIViewController。如果我选择其中任何一个,我就会得到奥特莱斯。例如,对于 UIViewController 我总是有 view->View。但是,我的项目的课程不在下拉列表中。手动输入名称似乎可行,但实际上不行。一定存在一些索引问题(除非我已经删除了其中的所有内容)
~/Library/Developer/Xcode/DerivedData/
Run Code Online (Sandbox Code Playgroud)
没有成功。如果您想尝试,我已将我的代码放在GitHub上。这并没有为我显示奥特莱斯,但它为其他一些人显示了 - 所以严格来说,这不是代码的“错误”。这更多是一个 XCode 问题。欢迎任何帮助!
编辑4我认为这就是问题所在:看右边。下拉菜单不显示“ViewController.h”类。如果我手动输入它,它似乎可以识别它,但实际上我怀疑它不能识别。以前,我总是在下拉菜单中看到项目类的完整列表。
elementtree ×1
ios ×1
lxml ×1
objective-c ×1
paypal ×1
paypal-ipn ×1
python ×1
xcode ×1
xcode6 ×1
xcode6.1 ×1
xpath ×1