本文整理汇总了Python中xml.dom.pulldom.parseString方法的典型用法代码示例。如果您正苦于以下问题:Python pulldom.parseString方法的具体用法?Python pulldom.parseString怎么用?Python pulldom.parseString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xml.dom.pulldom
的用法示例。
在下文中一共展示了pulldom.parseString方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: parseString
# 需要导入模块: from xml.dom import pulldom [as 别名]
# 或者: from xml.dom.pulldom import parseString [as 别名]
def parseString(string, parser=None):
"""Parse a file into a DOM from a string."""
if parser is None:
from xml.dom import expatbuilder
return expatbuilder.parseString(string)
else:
from xml.dom import pulldom
return _do_pulldom_parse(pulldom.parseString, (string,),
{'parser': parser})
示例2: test_parse
# 需要导入模块: from xml.dom import pulldom [as 别名]
# 或者: from xml.dom.pulldom import parseString [as 别名]
def test_parse(self):
"""Minimal test of DOMEventStream.parse()"""
# This just tests that parsing from a stream works. Actual parser
# semantics are tested using parseString with a more focused XML
# fragment.
# Test with a filename:
handler = pulldom.parse(tstfile)
self.addCleanup(handler.stream.close)
list(handler)
# Test with a file object:
with open(tstfile, "rb") as fin:
list(pulldom.parse(fin))
示例3: test_expandItem
# 需要导入模块: from xml.dom import pulldom [as 别名]
# 或者: from xml.dom.pulldom import parseString [as 别名]
def test_expandItem(self):
"""Ensure expandItem works as expected."""
items = pulldom.parseString(SMALL_SAMPLE)
# Loop through the nodes until we get to a "title" start tag:
for evt, item in items:
if evt == pulldom.START_ELEMENT and item.tagName == "title":
items.expandNode(item)
self.assertEqual(1, len(item.childNodes))
break
else:
self.fail("No \"title\" element detected in SMALL_SAMPLE!")
# Loop until we get to the next start-element:
for evt, node in items:
if evt == pulldom.START_ELEMENT:
break
self.assertEqual("hr", node.tagName,
"expandNode did not leave DOMEventStream in the correct state.")
# Attempt to expand a standalone element:
items.expandNode(node)
self.assertEqual(next(items)[0], pulldom.CHARACTERS)
evt, node = next(items)
self.assertEqual(node.tagName, "p")
items.expandNode(node)
next(items) # Skip character data
evt, node = next(items)
self.assertEqual(node.tagName, "html")
with self.assertRaises(StopIteration):
next(items)
items.clear()
self.assertIsNone(items.parser)
self.assertIsNone(items.stream)
示例4: test_comment
# 需要导入模块: from xml.dom import pulldom [as 别名]
# 或者: from xml.dom.pulldom import parseString [as 别名]
def test_comment(self):
"""PullDOM does not receive "comment" events."""
items = pulldom.parseString(SMALL_SAMPLE)
for evt, _ in items:
if evt == pulldom.COMMENT:
break
else:
self.fail("No comment was encountered")
示例5: parseString
# 需要导入模块: from xml.dom import pulldom [as 别名]
# 或者: from xml.dom.pulldom import parseString [as 别名]
def parseString(string, parser=None):
"""Parse a file into a DOM from a string."""
import sys
if parser is None and sys.platform[:4] != "java":
from xml.dom import expatbuilder
return expatbuilder.parseString(string)
from xml.dom import pulldom
return _do_pulldom_parse(pulldom.parseString, (string,),
{'parser': parser})
示例6: xxe
# 需要导入模块: from xml.dom import pulldom [as 别名]
# 或者: from xml.dom.pulldom import parseString [as 别名]
def xxe():
doc = parseString(request.form['xxe'])
try:
for event, node in doc:
if event == START_ELEMENT and node.localName == "items":
doc.expandNode(node)
nodes = node.toxml()
return render_template("index.html", nodes=nodes)
except (UnboundLocalError, xml.sax._exceptions.SAXParseException):
return render_template("index.html")
示例7: parseString
# 需要导入模块: from xml.dom import pulldom [as 别名]
# 或者: from xml.dom.pulldom import parseString [as 别名]
def parseString(string, parser=None):
"""Parse a file into a DOM from a string."""
if parser is None and sys.platform[:4] != "java":
from xml.dom import expatbuilder
return expatbuilder.parseString(string)
else:
from xml.dom import pulldom
return _do_pulldom_parse(pulldom.parseString, (string,),
{'parser': parser})
示例8: make_parser
# 需要导入模块: from xml.dom import pulldom [as 别名]
# 或者: from xml.dom.pulldom import parseString [as 别名]
def make_parser(stream_or_string):
"""Create a xml.dom.pulldom parser."""
if isinstance(stream_or_string, six.string_types):
# XXX: the pulldom.parseString() function doesn't seem to
# like operating on unicode strings!
return pulldom.parseString(str(stream_or_string))
else:
return pulldom.parse(stream_or_string)