XML-Knoten
Ein XML-Knoten stellt ein einzelnes XML-Element dar, z. B. ein Startelement und seine Attribute, ein Endelement, Text oder "typierte" Textinhalte wie eine ganze Zahl oder ein Bytearray. Die Daten in einem Knoten variieren je nach WS_XML_NODE_TYPE.
Im Folgenden sehen Sie ein Beispiel für ein codierungsspezifisches 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