我正在尝试使用AppleScript读取XML。
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xml:space="preserve" xmlns="http://ns.adobe.com/xfdf/">
<annots>
<square color="#FF0000" creationdate="D:20130828114843+05'30'" date="D:20130828114901+05'30'" flags="print" name="Xi6cOkAWgWHcAhpfBkR5A7" page="0" rect="347.7599999991828,1041.8400000004283,453.5999999989341,1056.9600000003927" subject="Rectangle" title="1 im, awltest7 (AWLTEST7.IM)">
<contents-richtext>
<body>
<p>Text Not Clear</p>
</body>
</contents-richtext>
<popup open="yes" page="0" rect="453.5999999989341,944.4600000003926,573.5999999989341,1056.9600000003927"/>
</square>
<square color="#FF0000" creationdate="D:20130828114910+05'30'" date="D:20130828114919+05'30'" flags="print" name="ptmmBKtfoDEbVzirMgZLnY" page="0" rect="511.1999999987987,1092.960000000308,550.7999999987057,1123.9200000002352" subject="Rectangle" title="2 im, awltest7 (AWLTEST7.IM)">
<contents-richtext>
<body>
<p>Incorrect dimension</p>
</body>
</contents-richtext>
<popup open="yes" page="0" rect="550.7999999987057,1011.4200000002352,670.7999999987056,1123.9200000002352"/>
</square>
<square color="#FF0000" creationdate="D:20130828114956+05'30'" date="D:20130828115004+05'30'" flags="print" name="8LaAl2Upx4LEaQptQKXoZx" page="0" rect="355.67999999916424,731.5200000011573,431.99999999898483,750.2400000011135" subject="Rectangle" title="3 im, awltest7 (AWLTEST7.IM)">
<contents-richtext>
<body>
<p>Incorrect Text</p>
</body>
</contents-richtext>
<popup open="yes" page="0" rect="431.99999999898483,637.7400000011133,551.9999999989849,750.2400000011135"/>
</square>
</annots>
</xfdf>
的AppleScript
set theXMLFile to ((choose file) as string)
tell application "System Events"
set theXMLFile to XML file theXMLFile
set squares to XML elements of XML element "annots" of XML element "xfdf" of theXMLFile whose name is "square"
set p to {}
set attrs to {}
repeat with i from 1 to (count squares)
set end of p to value of XML element "p" of XML element "body" of XML element "contents-richtext" of item i of squares
set end of attrs to value of XML attributes of XML element "popup" of item i of squares
end repeat
end tell
通过使用我设法获得'&lt;的脚本p&gt;'和'&lt;弹出&gt;'值。如何获得'&lt; square&gt;'值。请指教。
答案 0 :(得分:1)
下面的脚本工作。
tell application "System Events"
set theXMLFile to XML file theXMLFile
set squares to XML elements of XML element "annots" of XML element "xfdf" of theXMLFile whose name is "square"
set p to {}
set attrs to {}
repeat with i from 1 to (count squares)
set end of p to value of XML element "p" of XML element "body" of XML element "contents-richtext" of item i of squares
set end of attrs to value of XML attributes of item i of squares
end repeat
end tell