서버에 SDO를 설치하는 데 어려움을 겪은 후 SDO가 더 이상 개발 / 지원되지 않을 것이라는 정보를 발견했습니다.
SDO없이 어떻게 할 수 있습니까?
$das = SDO_DAS_XML::create("$someSchemaFile");
$doc = $das->createDocument();
$root = $doc->getRootDataObject();
$root->Data1 = 'data1';
$root->Data2 = 'data2';
$string = $das->saveString($doc);
스키마 (의사)
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cc="http://cc/XMLSchema">
<xsd:element name="SomeName">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Data1" type="xsd:string"/>
<xsd:element name="Data2" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
XSD는 XML 자체이므로 DomDocument 와 같은 여러 가지 방법이 있습니다. 그러나 가장 쉬운 방법은 아마도 SimpleXML 일 것입니다 . 그것은 그다지 강력하지 않지만 대부분은 어쨌든 필요하지 않습니다.
다음은 약간의 예입니다.
$xml = <<<XML <?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:cc="http://cc/XMLSchema">
<xsd:element name="SomeName">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Data1" type="xsd:string"/>
<xsd:element name="Data2" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element> </xsd:schema>
XML;
$doc = simplexml_load_string($xml);
// get the first xsd:element node with a name-attribute of 'Data1'
$element = $doc->xpath("//xsd:element[@name='Data1']")[0];
// change the name-attribute:
$element->attributes()->name = 'SomeOtherName';
// or even add another attribute:
$element->addAttribute('newAttribute', 'newAttributeValue');
// and spit it out as XML again:
echo $doc->asXML();
이것이 당신이 염두에 둔 것인지 확실하지 않기 때문에 도움이되기를 바랍니다. 그러나 내가 귀하의 질문을 이해하는 한 당신은 XML 파일을 조작하는 대안 / 쉬운 방법을 찾고 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다