2012-01-02 19 views
6

Olası Çoğalt:
C++ HTML template framework, templatizing library, HTML generator libraryC++ 'da HTML çıktısı üretmenin en iyi yolu nedir?

Ben birçok tabloları içeren bir program var, bu yüzden programı hata ayıklama günlük dosyalarında bunları izlemek istemektedir. Renkli, biçimlendirilmiş çıktı istiyorum, ben de HTML formatında yazdığımı düşündüm. Peki, C++'da HTML dosyaları oluşturmanın en iyi yolu nedir?

önemsiz yolu eğilimli çok iğrenç ve hatadır:

std::stringstream ret; 
ret << "<TABLE BORDER=\"1\" CELLBORDER=\"0\">\n"; 
ret << " <TR>\n"; 
... 

Böylece bir HTML sarıcı yazdı düşündüm ama bu nedenle bu kadar çok olduğunu düşünüyorum.
CHtmlHtml Html; 
Html << 
    Body() % Id("1") 
     << H1("My First Heading") << 
     << P("My first paragraph."); 

veya bu durumda

CHtmlTable table; 
table % Border(1) % CellBorder(0) << 
    Tr() << 
     Td("Text") % Colspan(4); 

yılında

benzer herhangi bir proje var mı: Bu sözdizimi veya benzeri ile C++ statik olarak yazılan HTML sarmalayıcı istiyorum

? Sadece dinamik ihtiyacınız olan tüm düğümleri oluşturmak için (örneğin TinyXML gibi) bir C++ XML kütüphanesi kullanmak böylece

+2

@tzaman: Statik olarak yazılan bir HTML sarmalayıcı istiyorum, bir şablona dayalı değil bir –

+0

Şablonları göz ardı eden gereksinimlerinizi belirsiz değilim, ancak cevap tzaman C++ için yararlı çözümler bir sürü verdi, bazı şablonlar değil de herşey. – casualcoder

+1

Sunulan bağlantıyı kontrol ettim ve Endüstri-antidepresanın ne hakkında konuştuğunu bile göremedim. Hemen hemen hepsi HTML/XML şablonlarından geliyor. –

cevap

3

HTML ve XML ikisinin birden aynı sözdizimini kullanın.

This page

XML oluşturmak için TinyXML nasıl kullanılacağını gösterir (veya durumda, HTML olarak) belgeler.

Sen (örneğin oluşturulan dosyanın üstündeki XML bildirimi kaldırma gibi) biraz kurcalama yapmanız gerekebilir, ama biraz kolayca bunun için bir sarmalayıcı oluşturmak düşünüyorum.

+0

evet, benim sarmalayıcı için bir üs için XML kullanabilirsiniz, ama ben hiç bir sarmalayıcı yazmayı istemiyordu. :) Ama bu sarmalayıcı kütüphanesi yok gibi görünüyor, bu yüzden bir tane yazacağım ... –

İlgili konular