我必须在现有的XML架构中添加一个新元素。我现有的XML架构看起来像这样。
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="sample">
<xs:complexType>
<xs:sequence>
<xs:element name="id1" type="xs:int" minOccurs="0"/>
<xs:element name="id2" type="xs:string" minOccurs="0"/>
<xs:element name="id3" type="xs:int" minOccurs="0"/>
现在我需要结果模式,就像这样..
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="sample">
<xs:complexType>
<xs:sequence>
<xs:element name="id1" type="xs:int" minOccurs="0"/>
<xs:element name="id2" type="xs:string" minOccurs="0"/>
<xs:element name="id3" type="xs:int" minOccurs="0"/>
<xs:element name="id4" type="xs:int" minOccurs="0"/>
要在元素示例下添加的新元素id4
。我尝试了createElement
和appendChild
,但它无法正常工作。帮我解决这个问题
这是我尝试添加新元素的代码
$schema_dom=new DOMDocument($schemaxml);
$respondent=
$schema_dom->getElementsByTagName('sample');
firstname=$schema_dom->createElement('id4');
$respondent->appendChild($firstname);
$schemaobj=$schema_dom->saveXML();
在上面的代码中,$ schemaxml是一个包含XML模式的字符串变量。上面代码给出了一个错误,说Fatal error: Call to undefined method DOMNodeList::appendChild()
。