这是我收到的一个 xml 文件,我想用 delphi 生成相同的输出。我使用 delphi xml 向导通过我的模式生成了一个大单元。
这就是我想要的输出(原始文件)
<?xml version="1.0" encoding="iso-8859-1"?><reh:Reha xmlns:reh="http://www.vdek.com/xml-schema/REH/1.8">
<reh:logische_Version>1.6.0</reh:logische_Version>
<reh:KV>
<reh:Kopfdaten>
<kod:Erstellungsdatum_Uhrzeit xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2">2014-09-23T15:33:23</kod:Erstellungsdatum_Uhrzeit>
<kod:Version xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2">1.2.0</kod:Version>
<kod:Dateinummer xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2">000010</kod:Dateinummer>
<kod:Identifikationsdaten xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2">
<kod:IK_Absender>108018007</kod:IK_Absender>
<kod:IK_Empfaenger>510800000</kod:IK_Empfaenger>
<kod:IK-Kostentraeger>108018007</kod:IK-Kostentraeger>
<kod:IK_Einrichtung>510800000</kod:IK_Einrichtung>
</kod:Identifikationsdaten>
<kod:Fall_ID_KV xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2">
<kod:Krankenversichertennummer>I123456789</kod:Krankenversichertennummer>
<kod:Versichertenstatus>50001</kod:Versichertenstatus>
<kod:Kartengueltigkeit>1712</kod:Kartengueltigkeit>
<kod:Fallnummer>01800000099988877</kod:Fallnummer>
</kod:Fall_ID_KV>
<reh:Dateinummer></reh:Dateinummer>
</reh:Kopfdaten>
<reh:Bewilligung>
<bew:Admindaten xmlns:bew="http://www.vdek.com/xml-schema/BEW/1.5">
<bew:Verarbeitungskennzeichen>10</bew:Verarbeitungskennzeichen>
<bew:Version>1.5.0</bew:Version>
<bew:LfdNr>01</bew:LfdNr>
</bew:Admindaten>
<bew:Fachliche_Daten xmlns:bew="http://www.vdek.com/xml-schema/BEW/1.5">
<bew:Rehabilitand>
<bew:Anrede>1</bew:Anrede>
<bew:Name>
<bty:Nachname xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">Mustermann</bty:Nachname>
<bty:Vorname xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">Max</bty:Vorname>
</bew:Name>
<bew:Geschlecht>1</bew:Geschlecht>
<bew:Geburtsdatum>1950-08-21</bew:Geburtsdatum>
<bew:Adresse>
<bty:Strasse xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">Saonestr.</bty:Strasse>
<bty:Hausnummer xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">3</bty:Hausnummer>
<bty:Wohnort xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">Frankfurt</bty:Wohnort>
<bty:PLZ xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">60528</bty:PLZ>
<bty:Laenderkennzeichen xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">D</bty:Laenderkennzeichen>
</bew:Adresse>
<bew:Kommunikation>
<bty:Telefon xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">069/12345</bty:Telefon>
</bew:Kommunikation>
</bew:Rehabilitand>
<bew:Kosteninformationen>
<bew:Zuzahlung>
<bew:Zuzahlungseinzug>2</bew:Zuzahlungseinzug>
<bew:AnzahlTage>028</bew:AnzahlTage>
<bew:Zuzahlungsbetrag>01000</bew:Zuzahlungsbetrag>
</bew:Zuzahlung>
</bew:Kosteninformationen>
<bew:Rehainformationen>
<bew:Rehaart>93</bew:Rehaart>
</bew:Rehainformationen>
<bew:Aufnahmedaten>
<bew:IK_Krankenhaus>260612124</bew:IK_Krankenhaus>
<bew:Behandlungsart>1</bew:Behandlungsart>
<bew:Bewilligungsdiagnosen>
<bew:Version_ICD>2014</bew:Version_ICD>
<bew:Diagnose>
<bty:Diagnosenschluessel xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">M151</bty:Diagnosenschluessel>
</bew:Diagnose>
</bew:Bewilligungsdiagnosen>
<bew:Aufnahmedaten>
<bew:Erfolgt>N</bew:Erfolgt>
<bew:Geplant>2014-10-05</bew:Geplant>
</bew:Aufnahmedaten>
<bew:Indikationsgruppe>SA</bew:Indikationsgruppe>
</bew:Aufnahmedaten>
<bew:Bewilligungsinformationen>
<bew:Bewilligungsdatum>2014-09-23</bew:Bewilligungsdatum>
<bew:Kostenzusage_gueltig_bis>2014-10-31</bew:Kostenzusage_gueltig_bis>
</bew:Bewilligungsinformationen>
<bew:Stationaerdaten>
<bew:Behandlungsabschnitte>01</bew:Behandlungsabschnitte>
<bew:bewilligte_Tage>020</bew:bewilligte_Tage>
</bew:Stationaerdaten>
</bew:Fachliche_Daten>
<reh:Fachliche_Daten>
<reh:Rehabilitand/>
</reh:Fachliche_Daten>
</reh:Bewilligung>
</reh:KV>
<reh:Papieranlage>N</reh:Papieranlage>
</reh:Reha>
我的delphi代码
var
XML: IXMLReha;
begin
XML := NewReha;
XML.OwnerDocument.Options := [doNodeAutoCreate, doNodeAutoIndent];
XML.Logische_Version := '1.6.0';
//Präfixe wie :bs, :reh fehlen noch
{Kopfdaten} //xmlns:kod
Xml.KV.Kopfdaten.DeclareNamespace('kod', 'http://www.vdek.com/xml-schema/KOD/1.2');
Xml.KV.Kopfdaten.Attributes['test'] := 'test2';
XML.KV.Kopfdaten.Erstellungsdatum_Uhrzeit := '2014-09-23T15:33:23';
XML.KV.Kopfdaten.Version := '1.2.0';
XML.KV.Kopfdaten.Dateinummer := '000010';
XML.KV.Kopfdaten.Identifikationsdaten.IK_Absender := '108018007';
XML.KV.Kopfdaten.Identifikationsdaten.IK_Empfaenger := '510800000';
XML.KV.Kopfdaten.Identifikationsdaten.IKKostentraeger := '108018007';
XML.KV.Kopfdaten.Identifikationsdaten.IK_Einrichtung := '510800000';
XML.KV.Kopfdaten.Fall_ID_KV.Krankenversichertennummer := 'I123456789';
XML.KV.Kopfdaten.Fall_ID_KV.Versichertenstatus := '50001';
XML.KV.Kopfdaten.Fall_ID_KV.Kartengueltigkeit := '1712';
XML.KV.Kopfdaten.Fall_ID_KV.Fallnummer := '01800000099988877';
XML.KV.Kopfdaten.Dateinummer := '';
{Bewilligung}
XML.KV.Bewilligung.Admindaten.Verarbeitungskennzeichen := '10';
XML.KV.Bewilligung.Admindaten.Version := '1.5.0';
XML.KV.Bewilligung.Admindaten.LfdNr := '01';
XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Anrede := '1';
XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Name.Nachname := 'Mustermann';
XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Name.Vorname := 'Max';
XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Geschlecht := '1';
XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Geburtsdatum := '1950-08-21';
XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Adresse.Strasse := 'Saonestr';
XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Adresse.Hausnummer := '3';
XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Adresse.Wohnort := 'Frankfurt';
XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Adresse.PLZ := '60528';
XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Adresse.Laenderkennzeichen := 'D';
XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Kommunikation.Telefon := '069/12345';
{ ...}
//Dokument speichern
XML.OwnerDocument.SaveToFile('\\Server\Gen.xml');
end;
我的输出是用我的delphi代码生成的
<?xml version="1.0"?>
<Reha xmlns="http://www.vdek.com/xml-schema/REH/1.8" xsi:schemaLocation="http://www.foo.com/Myxsd.xsd">
<logische_Version>1.6.0</logische_Version>
<KV>
<Kopfdaten xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2" test="test2">
<Erstellungsdatum_Uhrzeit>2014-09-23T15:33:23</Erstellungsdatum_Uhrzeit>
<Version>1.2.0</Version>
<Dateinummer></Dateinummer>
<Identifikationsdaten>
<IK_Absender>108018007</IK_Absender>
<IK_Empfaenger>510800000</IK_Empfaenger>
<IK-Kostentraeger>108018007</IK-Kostentraeger>
<IK_Einrichtung>510800000</IK_Einrichtung>
</Identifikationsdaten>
<Fall_ID_KV>
<Krankenversichertennummer>I123456789</Krankenversichertennummer>
<Versichertenstatus>50001</Versichertenstatus>
<Kartengueltigkeit>1712</Kartengueltigkeit>
<Fallnummer>01800000099988877</Fallnummer>
</Fall_ID_KV>
</Kopfdaten>
<Bewilligung>
<Admindaten>
<Verarbeitungskennzeichen>10</Verarbeitungskennzeichen>
<Version>1.5.0</Version>
<LfdNr>01</LfdNr>
</Admindaten>
<Fachliche_Daten>
<Rehabilitand>
<Anrede>1</Anrede>
<Name>
<Nachname>Mustermann</Nachname>
<Vorname>Max</Vorname>
</Name>
<Geschlecht>1</Geschlecht>
<Geburtsdatum>1950-08-21</Geburtsdatum>
<Adresse>
<Strasse>Saonestr</Strasse>
<Hausnummer>3</Hausnummer>
<Wohnort>Frankfurt</Wohnort>
<PLZ>60528</PLZ>
<Laenderkennzeichen>D</Laenderkennzeichen>
</Adresse>
<Kommunikation>
<Telefon>069/12345</Telefon>
</Kommunikation>
</Rehabilitand>
</Fachliche_Daten>
</Bewilligung>
</KV>
</Reha>
那么我如何在 ym xml 文件中像原始 xml 文件一样设置前缀/命名空间,例如 reh:, :kod ...?
如您所见,我不使用“.addchild”命令,所以我需要一个不同的答案。
XMLgrid 转换器制作了一个新的 XSD 文件(从您在此处发布的 XML 文件生成)
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- XML Schema Generated from XML Document on Thu Apr 09 2015 14:31:00 GMT+0200 (Romance Daylight Time) -->
<!-- with XmlGrid.net Free Online Service http://xmlgrid.net -->
<xs:element name="reh:Reha">
<xs:complexType>
<xs:sequence>
<xs:element name="reh:logische_Version" type="xs:string"></xs:element>
<xs:element name="reh:KV">
<xs:complexType>
<xs:sequence>
<xs:element name="reh:Kopfdaten">
<xs:complexType>
<xs:sequence>
<xs:element name="kod:Erstellungsdatum_Uhrzeit" type="xs:dateTime">
<xs:complexType>
<xs:attribute name="xmlns:kod" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="kod:Version" type="xs:string">
<xs:complexType>
<xs:attribute name="xmlns:kod" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="kod:Dateinummer" type="xs:string">
<xs:complexType>
<xs:attribute name="xmlns:kod" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="kod:Identifikationsdaten">
<xs:complexType>
<xs:sequence>
<xs:element name="kod:IK_Absender" type="xs:string"></xs:element>
<xs:element name="kod:IK_Empfaenger" type="xs:string"></xs:element>
<xs:element name="kod:IK-Kostentraeger" type="xs:string"></xs:element>
<xs:element name="kod:IK_Einrichtung" type="xs:string"></xs:element>
</xs:sequence>
<xs:attribute name="xmlns:kod" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="kod:Fall_ID_KV">
<xs:complexType>
<xs:sequence>
<xs:element name="kod:Krankenversichertennummer" type="xs:string"></xs:element>
<xs:element name="kod:Versichertenstatus" type="xs:string"></xs:element>
<xs:element name="kod:Kartengueltigkeit" type="xs:string"></xs:element>
<xs:element name="kod:Fallnummer" type="xs:string"></xs:element>
</xs:sequence>
<xs:attribute name="xmlns:kod" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reh:Bewilligung">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:Admindaten">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:Verarbeitungskennzeichen" type="xs:string"></xs:element>
<xs:element name="bew:Version" type="xs:string"></xs:element>
<xs:element name="bew:LfdNr" type="xs:string"></xs:element>
</xs:sequence>
<xs:attribute name="xmlns:bew" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="bew:Fachliche_Daten">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:Rehabilitand">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:Anrede" type="xs:string"></xs:element>
<xs:element name="bew:Name">
<xs:complexType>
<xs:sequence>
<xs:element name="bty:Nachname" type="xs:string">
<xs:complexType>
<xs:attribute name="xmlns:bty" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="bty:Vorname" type="xs:string">
<xs:complexType>
<xs:attribute name="xmlns:bty" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bew:Geschlecht" type="xs:string"></xs:element>
<xs:element name="bew:Geburtsdatum" type="xs:date"></xs:element>
<xs:element name="bew:Adresse">
<xs:complexType>
<xs:sequence>
<xs:element name="bty:Strasse" type="xs:string">
<xs:complexType>
<xs:attribute name="xmlns:bty" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="bty:Hausnummer" type="xs:string">
<xs:complexType>
<xs:attribute name="xmlns:bty" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="bty:Wohnort" type="xs:string">
<xs:complexType>
<xs:attribute name="xmlns:bty" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="bty:PLZ" type="xs:string">
<xs:complexType>
<xs:attribute name="xmlns:bty" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="bty:Laenderkennzeichen" type="xs:string">
<xs:complexType>
<xs:attribute name="xmlns:bty" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bew:Kommunikation">
<xs:complexType>
<xs:sequence>
<xs:element name="bty:Telefon" type="xs:string">
<xs:complexType>
<xs:attribute name="xmlns:bty" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bew:Kosteninformationen">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:Zuzahlung">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:Zuzahlungseinzug" type="xs:string"></xs:element>
<xs:element name="bew:AnzahlTage" type="xs:string"></xs:element>
<xs:element name="bew:Zuzahlungsbetrag" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bew:Rehainformationen">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:Rehaart" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bew:Aufnahmedaten">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:IK_Krankenhaus" type="xs:string"></xs:element>
<xs:element name="bew:Behandlungsart" type="xs:string"></xs:element>
<xs:element name="bew:Bewilligungsdiagnosen">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:Version_ICD" type="xs:string"></xs:element>
<xs:element name="bew:Diagnose">
<xs:complexType>
<xs:sequence>
<xs:element name="bty:Diagnosenschluessel" type="xs:string">
<xs:complexType>
<xs:attribute name="xmlns:bty" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bew:Aufnahmedaten">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:Erfolgt" type="xs:string"></xs:element>
<xs:element name="bew:Geplant" type="xs:date"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bew:Indikationsgruppe" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bew:Bewilligungsinformationen">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:Bewilligungsdatum" type="xs:date"></xs:element>
<xs:element name="bew:Kostenzusage_gueltig_bis" type="xs:date"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bew:Stationaerdaten">
<xs:complexType>
<xs:sequence>
<xs:element name="bew:Behandlungsabschnitte" type="xs:string"></xs:element>
<xs:element name="bew:bewilligte_Tage" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="xmlns:bew" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reh:Papieranlage" type="xs:string"></xs:element>
</xs:sequence>
<xs:attribute name="xmlns:reh" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>
如果您将此 XSD 文件导入 XML 绑定向导,它将生成一个可以为您生成正确 XML 的单元。
using msxml;
procedure TForm1.bt1Click(Sender: TObject);
var
Document: DOMDocument;
RootNode, Node: IXMLDOMNode;
const
rehNameSpace: WideString = 'reh';
rehNameSpaceURI: WideString = 'http://www.vdek.com/xml-schema/REH/1.8';
kodNameSpace: WideString = 'kod';
kodNameSpaceURI: WideString = 'http://www.vdek.com/xml-schema/KOD/1.2';
begin
Document := CoDOMDocument60.Create;
RootNode := Document.createNode(NODE_ELEMENT, rehNameSpace + ':Reha', rehNameSpaceURI);
Document.appendChild(RootNode);
Node := Document.createNode(NODE_ELEMENT, rehNameSpace + ':logische_Version', rehNameSpaceURI);
Node.text := '1.6.0';
RootNode.appendChild(Node);
Node := Document.createNode(NODE_ELEMENT, rehNameSpace + ':KV', rehNameSpaceURI);
RootNode.appendChild(Node);
RootNode := Node;
Node := Document.createNode(NODE_ELEMENT, rehNameSpace + ':Kopfdaten', rehNameSpaceURI);
RootNode.appendChild(Node);
RootNode := Node;
Node := Document.createNode(NODE_ELEMENT, kodNameSpace + ':Erstellungsdatum_Uhrzeit', kodNameSpaceURI);
Node.text := '2014-09-23T15:33:23';
RootNode.appendChild(Node);
Node := Document.createNode(NODE_ELEMENT, kodNameSpace + ':Version', kodNameSpaceURI);
Node.text := '1.2.0';
RootNode.appendChild(Node);
Node := Document.createNode(NODE_ELEMENT, kodNameSpace + ':Dateinummer', kodNameSpaceURI);
Node.text := '000010';
RootNode.appendChild(Node);
Node := Document.createNode(NODE_ELEMENT, kodNameSpace + ':Identifikationsdaten', kodNameSpaceURI);
RootNode.appendChild(Node);
RootNode := Node;
mmo1.Text := Document.xml; // TMemo
end;
RegisterChildNode
方法中,将第四个参数添加到
RegisterChildNodes
中才能添加完整的命名空间。之后你必须改变
Getter
-方法:例如,您可以将
TXMLKopfdatenType_reh.AfterConstruction
更改为
RegisterChildNode('Erstellungsdatum_Uhrzeit', TErstellungsdatum_UhrzeitTyp_kod)
RegisterChildNode('Erstellungsdatum_Uhrzeit', TErstellungsdatum_UhrzeitTyp_kod, 'http://www.vdek.com/xml-schema/KOD/1.2');
的 Getter 方法
TXMLKopfdatenType_reh.Get_Erstellungsdatum_Uhrzeit
Result := ChildNodes['Erstellungsdatum_Uhrzeit'] as IErstellungsdatum_UhrzeitTyp_kod;
Result := ChildNodes['kod:Erstellungsdatum_Uhrzeit'] as IErstellungsdatum_UhrzeitTyp_kod;
更新2024-07-21
要正确使用命名空间,您还需要手动声明命名空间并进一步增强生成的Getter
。在您的情况下,您需要在三个函数中添加以下行,这些函数在初始化
GetXXX
后创建根对象(
LoadXXX
、
NewXXX
和
Result
):
Result.DeclareNamespace('reh', 'http://www.vdek.com/xml-schema/REH/1.8');
Result.DeclareNamespace('kod', 'http://www.vdek.com/xml-schema/KOD/1.2');
Result.DeclareNamespace('bew', 'http://www.vdek.com/xml-schema/BEW/1.5');
Result.DeclareNamespace('bty', 'http://www.vdek.com/xml-schema/BTY/1.2');
由于(例如)ChildNodes['kod:Erstellungsdatum_Uhrzeit']
也无法与命名空间正常工作,因此您需要使用函数
FindNode
。您可以增强
Getter
喜欢
Result := ChildNodes.FindNode('Erstellungsdatum_Uhrzeit', 'http://www.vdek.com/xml-schema/KOD/1.2') as IErstellungsdatum_UhrzeitTyp_kod;
if not Assigned(Result) then
Result := ChildNodes['kod:Erstellungsdatum_Uhrzeit'] as IErstellungsdatum_UhrzeitTyp_kod;
这将检查 Node
是否存在于指定的命名空间中。如果它不存在,我们将回退到旧的逻辑,这将默认创建节点。