らんだむな記憶

blogというものを体験してみようか!的なー

XMLの整形

GitHub - leethomason/tinyxml2: TinyXML2 is a simple, small, efficient, C++ XML parser that can be easily integrated into other programs.でわりと綺麗にできる。

[Makefile]

TARGET = xml_beautify

all: $(TARGET)

.PHONY: $(TARGET)
$(TARGET):
    c++ -fPIC xml_beautify.cpp libtinyxml2.a -o $@

.PHONY: clean
clean:
    rm -rf $(TARGET)

[xml_beautify.cpp]

#include "tinyxml2.h"

int main(int argc, char* argv[])
{
    if (argc < 1 + 1) {
        return 1;
    }

    tinyxml2::XMLDocument doc;
    tinyxml2::XMLError err = doc.LoadFile(argv[1]);
    if (err != tinyxml2::XML_SUCCESS) {
        return 1;
    }

    doc.Print();

    return 0;
}