0
こんにちは私はドキュメントにSVGファイルをインポートするためのプログラムを作っています。 (LXML)SVG(Python)xPath属性で要素を取得
if so.funktion != "0":
if so.funktion=="1":
searchStr = '//svg:g[@svg-creator="popup1"]'
selectStr = template.xpath(searchStr, namespaces=inkex.NSS)
if selectStr != []:
selectStr[0].set("id","Popup "+so.name)
self.current_layer.append(selectStr[0])
else:
None
マイSVGファイル:
<g
id="p1"
svg-creator="popup1"
transform="translate(140,-160)">
<rect
y="900"
x="0"
height="180"
width="200"
id="rect6309"
style="opacity:1;fill:#000000;fill-opacity:0.7372549;stroke:none;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
id="b1234"
svg-creator="button1">
<rect
style="opacity:1;fill:#6c6c6c;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect6588"
width="126"
height="34"
x="59"
y="1023" />
<text
sodipodi:linespacing="125%"
id="text6770"
y="1045.8575"
x="91.91333"
style="font-style:normal;font-weight:normal;font-size:50px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;font-family:'Franklin Gothic Medium';-inkscape-font-specification:'Franklin Gothic Medium, ';fill:#ffffff;fill-opacity:1"
y="1045.8575"
x="91.91333"
id="tspan6772"
sodipodi:role="line">button1</tspan></text>
</g>
<g
id="b83217"
transform="translate(0,-50)"
svg-creator="button2">
<rect
style="opacity:1;fill:#6c6c6c;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect6588-2"
width="126"
height="34"
x="59"
y="1023" />
<text
sodipodi:linespacing="125%"
id="text6770-7"
y="1045.8575"
x="91.91333"
style="font-style:normal;font-weight:normal;font-size:50px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;font-family:'Franklin Gothic Medium';-inkscape-font-specification:'Franklin Gothic Medium, ';fill:#ffffff;fill-opacity:1"
y="1045.8575"
x="91.91333"
id="tspan6772-6"
sodipodi:role="line">button2</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:50px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="75.460815"
y="941.51672"
id="text421312"
sodipodi:linespacing="125%"
svg-creator="title"><tspan
sodipodi:role="line"
id="tspan8274"
x="75.460815"
y="941.51672"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:27.5px;font-family:'Franklin Gothic Medium';-inkscape-font-specification:'Franklin Gothic Medium, ';fill:#ffffff;fill-opacity:1">Title</tspan></text>
私は変更して、私のSVGの属性を設定することができます。これまでのところグラムを、私は別のSVGを操作/アクセスする必要があります。そのselectStrの中にg!
xpathのbutton1とbutton2にアクセスして操作するにはどうすればよいですか? selectStr
から (私の実際のXPathはpopup1が含まれているので、私は、同じ属性を持つ複数のポップアップを持っている)
現在のXPathから返された要素オブジェクトに別のXPathを適用します。より具体的な情報、つまり現在選択されている要素と実際のターゲット要素を含むサンプルXMLを提供しない限り、具体的な説明は提供できません。ありがとう – har07
確かにコードをheres: –
あなたは何を変えようとしていますか? –