2010-05-18 20 views
5

samplexml.svg में एक नोडएसवीजी फ़ाइल की विशेषता मान कैसे बदलें

<image width="744" height="1052" xlink:href="image1.png"/> 

मैं "image2.png" जैसे एक और मान के साथ "image1.png" की जगह की जरूरत है। कृपया मुझे नमूना कोड के साथ मार्गदर्शन कैसे करें।

मुझे विशेषता मान "image1.png" मिल सकता है। यहाँ कोड है:

$xdoc = new DomDocument; 
$xdoc->Load('samplexml.svg'); 
$tagName = $xdoc->getElementsByTagName('image')->item(0); 
$attribNode = $tagName->getAttributeNode('xlink:href'); 

echo "Attribute Name : " . $attribNode->name . "<br/>"; 
echo "Attribute Value : " . $attribNode->value; 

यहाँ samplexml.svg है: href मूल्य:

<svg> 
    <g> 
     <title>Test title</title> 
     <image x="0" y="0" width="744" height="1052" xlink:href="image1.png"/> 
    </g> 
</svg> 

मैं कैसे प्रोग्राम के रूप में XLink बदल सकता हूँ?

उत्तर

-2

फ़ाइल को स्ट्रिंग के रूप में लोड करने का एक तरीका हो सकता है और फिर खोज करें और उस पर प्रतिस्थापित करें। फिर आप loadXML http://www.php.net/manual/en/domdocument.loadxml.php का उपयोग कर सकते हैं और परिवर्तित स्ट्रिंग को पैरामीटर के रूप में आपूर्ति कर सकते हैं।

+3

-1 खोज सुझाव देने के लिए/जब वह पहले से ही डोम उपयोग कर रहा है की जगह। –

+0

पवित्र गाय, तो आप बेहतर विकल्प सुझा सकते हैं? दोस्त को ढीला करो। – zaf

+0

मैंने पहले ही [मेरा अपना जवाब] छोड़ा है (http://stackoverflow.com/questions/2857113/how-to-change-the-attribute-value-of-svg-file/2857206#2857206)। बस आपको डाउनवोट पर प्रतिक्रिया दे रही है। प्रत्येक बार जब कोई एक्सएमएल/एचटीएमएल डेटा की खोज/प्रतिस्थापन का सुझाव देता है, तो भगवान एक बिल्ली का बच्चा मारता है। –

13

उपयोग DOMElement::setAttributeNS():

$xdoc = new DomDocument; 
$xdoc->Load('svg.xml'); 
$tagName = $xdoc->getElementsByTagName('image')->item(0); 
$attribNode = $tagName->getAttributeNode('xlink:href'); 

echo "Attribute Name : " . $attribNode->name . "<br/>"; 
echo "Attribute Value : " . $attribNode->value; 

$tagName->setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', 'image2.png'); 

echo $xdoc->saveXML(); 
+0

+1 आज मेरे लिए कुछ नया सीखना। – zaf

संबंधित मुद्दे