XML-Knoten
Ein XML-Knoten stellt ein einzelnes XML-Element dar, z. B. ein Startelement und seine Attribute, ein Endelement, Text oder "typisierter" Textinhalt, z. B. ein Ganzzahl- oder Bytearray. Die Daten in einem Knoten variieren je nach WS_XML_NODE_TYPE.
Im Folgenden sehen Sie ein Beispiel für ein Codierungs-spezifisches XML-Dokument, das mit unabhängigen Codierungsstrukturen dargestellt wird.
<p:PurchaseOrder xmlns:p="http://tempuri.org" p:id="3891">
<p:Buyer>Joe</p:Buyer>
</p:PurchaseOrder>
WS_XML_STRING purchaseOrder = WS_XML_STRING_VALUE("PurchaseOrder");
WS_XML_STRING id = WS_XML_STRING_VALUE("id");
WS_XML_STRING prefix = WS_XML_STRING_VALUE("p");
WS_XML_STRING ns = WS_XML_STRING_VALUE("http://tempuri.org");
WS_XML_ATTRIBUTE xmlnsAttribute =
{
/* singleQuote */ FALSE,
/* isXmlNs */ TRUE,
/* prefix */ &prefix,
/* localName */ NULL,
/* ns */ &ns,
/* value */ NULL
};
WS_XML_INT32_TEXT idText =
{
/* text */ { WS_XML_TEXT_TYPE_INT32 },
/* value */ 3891
};
WS_XML_ATTRIBUTE idAttribute =
{
/* singleQuote */ FALSE,
/* isXmlNs */ FALSE,
/* prefix */ &prefix,
/* localName */ &id,
/* ns */ &ns,
/* value */ &idText.text,
};
WS_XML_ATTRIBUTE* attributes[2] =
{
&xmlnsAttribute,
&idAttribute
};
WS_XML_ELEMENT_NODE elementNode =
{
/* node */ { WS_XML_NODE_TYPE_ELEMENT },
/* prefix */ &prefix,
/* localName */ &purchaseOrder,
/* ns */ &ns,
/* attributeCount */ 2,
/* attributes */ attributes,
/* isEmpty */ FALSE,
/* array */ NULL,
};
WS_XML_UTF8_TEXT joeText =
{
/* text */ { WS_XML_TEXT_TYPE_UTF8 },
/* value */ WS_XML_STRING_VALUE("Joe")
};
WS_XML_TEXT_NODE textNode =
{
/* node */ { WS_XML_NODE_TYPE_TEXT },
/* text */ &joeText.text
};
WS_XML_NODE endElementNode =
{
WS_XML_NODE_TYPE_END_ELEMENT
};
WS_XML_NODE* nodes[3] =
{
&elementNode.node,
&textNode.node,
&endElementNode
};
Die folgenden Enumerationen werden mit XML-Knoten verwendet:
Die folgenden Funktionen werden mit XML-Knoten verwendet:
Die folgenden Makros werden mit XML-Knoten verwendet:
Die folgenden Strukturen werden mit XML-Knoten verwendet:
- WS_XML_ATTRIBUTE
- WS_XML_BASE64_TEXT
- WS_XML_BOOL_TEXT
- WS_XML_COMMENT_NODE
- WS_XML_DATETIME_TEXT
- WS_XML_DECIMAL_TEXT
- WS_XML_DICTIONARY
- WS_XML_DOUBLE_TEXT
- WS_XML_ELEMENT_NODE
- WS_XML_FLOAT_TEXT
- WS_XML_GUID_TEXT
- WS_XML_INT32_TEXT
- WS_XML_INT64_TEXT
- WS_XML_LIST_TEXT
- WS_XML_NODE
- WS_XML_QNAME
- WS_XML_QNAME_TEXT
- WS_XML_STRING
- WS_XML_TEXT
- WS_XML_TEXT_NODE
- WS_XML_TIMESPAN_TEXT
- WS_XML_UINT64_TEXT
- WS_XML_UNIQUE_ID_TEXT
- WS_XML_UTF16_TEXT
- WS_XML_UTF8_TEXT