本文整理匯總了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)