tinyXml2を使用して、解析できます
<MSG_TIME> 2010-07-01 14:28:20 </ MSG_TIME>大丈夫ですが
<MSG_TIME> </ MSG_TIME>と
<MSG_TIME />(私の知る限り)完全に有効なXMLである場合、どちらもC++で例外をスローします。誰かがこれに対する修正や提案を持っていますか?私はこのXMLのソースを管理しておらず、エラー耐性が必要です。
This answer assumes you're trying to load valid XML with an empty element.
XMLElement::GetText()
returns nullptr
if the element is empty, so you can do a simple check like this:
std::string szData;
// Get the element
XMLElement pElement = xmlDoc.FirstChildElement("MyElement");
// Check whether the element contains data & if so, extract it as text
if (pElement->GetText() != nullptr) szData = poElement->GetText();
This question actually pointed out a bug with the TinyXML2 tutorial I wrote a few months ago, so thanks for posting it! :)