| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- //-----------------------------------------------------------------------------
- //
- // Description:
- //
- // Simple C++ Xml Reader classes.
- //
- // Remarks:
- //
- //-----------------------------------------------------------------------------
- namespace Xml
- {
- #pragma prefast(disable:26439) // implicit noexcept
- #pragma prefast(disable:26495) // uninitialized member variable
- // May want Unicode someday.
- typedef char Char;
- class Attribute
- {
- public:
- Attribute(Char * name, Char * value);
- Char * GetValue(const Char * name);
- void Dump();
- public:
- Attribute * Next;
- Char * Name;
- Char * Value;
- };
- class Node
- {
- public:
- Node() {}
- Node(const Char * name, Attribute * attributeList);
- Node * GetChild(const Char * name);
- Char * GetAttributeValue(const Char * name);
- void Dump(int indent);
- void Dump();
- public:
- Node * Next;
- Node * ChildList;
- Attribute * AttributeList;
- const Char * Name;
- Char * Data;
- int LineNumber;
- static Node * TopNode;
- };
- Node * ReadFile(const char * fileName);
- } // namespace Xml
|