मान लीजिए मैं इस तरह एक्सएमएल है:जब Python में prettyprinting xml में विशेषताओं को इंडेंट करना है?
<graph label="Test" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cy="http://www.cytoscape.org" xmlns="http://www.cs.rpi.edu/XGMML" directed="1">
<foo>...</foo>
</graph>
अपने सभी विशेषताओं पूरा एक पंक्ति पर प्रकट साथ पहला तत्व नाम।
मैंने देखा है कि कैसे सुंदर इस तरह कोड के साथ तत्व पेड़ मुद्रित करने के लिए, lxml का उपयोग कर,:
from lxml import etree
...
def prettyPrintXml(filePath):
assert filePath is not None
parser = etree.XMLParser(resolve_entities=False, remove_blank_text=True,
strip_cdata=False)
document = etree.parse(filePath, parser)
print(etree.tostring(document, pretty_print=True, encoding='utf-8'))
... लेकिन यह है कि, हर तत्व एक पंक्ति में दिखाई दे इस्तेमाल करते हैं।
क्या तत्व प्रिंटर के बीच नई पंक्तियों को सम्मिलित करने के लिए सुंदर प्रिंटर को बताने के लिए एक जादू की घटना है, उदाहरण के लिए, रेखा की लंबाई 80 characaters से अधिक नहीं है?
मैं परिणाम चाहते हैं कुछ इस तरह देखने के लिए:
<graph label="Test"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cy="http://www.cytoscape.org"
xmlns="http://www.cs.rpi.edu/XGMML" directed="1">
<foo>...</foo>
</graph>
ps: मैं subprocess
और xmllint