Patch level : 12.0 no-patch
Files correlati : Commento : xml : aggiunte getenclosedtext e setenclosedtext
This commit is contained in:
parent
67da2fd5ae
commit
8d1dd36e17
@ -150,10 +150,11 @@ TXmlItem& TXmlItem::SetAttr(const char* strAttr, const char* strVal)
|
||||
|
||||
const TString& TXmlItem::GetAttr(const char* strAttr) const
|
||||
{
|
||||
if (m_Attributes != NULL)
|
||||
if (m_Attributes != nullptr)
|
||||
{
|
||||
const TXmlAttr* str = (const TXmlAttr*)m_Attributes->objptr(strAttr);
|
||||
if (str != NULL)
|
||||
|
||||
if (str != nullptr)
|
||||
return *str;
|
||||
}
|
||||
return EMPTY_STRING;
|
||||
@ -448,17 +449,126 @@ bool TXmlItem::GetEnclosedText(TString& text) const
|
||||
return text.not_empty();
|
||||
}
|
||||
|
||||
TXmlItem& TXmlItem::AddEnclosedText(const char* str)
|
||||
bool TXmlItem::GetEnclosedText(const char* strAttr, TString & str) const
|
||||
{
|
||||
TXmlItem * item = FindFirstChild(strAttr); // ->FindFirst("");
|
||||
|
||||
if (item != nullptr)
|
||||
return item->GetEnclosedText(str);
|
||||
str.cut(0);
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TXmlItem::GetEnclosedDate(const char* strAttr, TDate & d) const
|
||||
{
|
||||
TString s;
|
||||
|
||||
if (GetEnclosedText(strAttr, s))
|
||||
{
|
||||
s.strip_spaces();
|
||||
d = TDate(s);
|
||||
return true;
|
||||
}
|
||||
d = NULLDATE;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TXmlItem::GetEnclosedInt(const char* strAttr, int & i) const
|
||||
{
|
||||
TString s;
|
||||
|
||||
if (GetEnclosedText(strAttr, s))
|
||||
{
|
||||
s.strip_spaces();
|
||||
i = atoi(s);
|
||||
return true;
|
||||
}
|
||||
i = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TXmlItem::GetEnclosedLong(const char* strAttr, long & l) const
|
||||
{
|
||||
TString s;
|
||||
|
||||
if (GetEnclosedText(strAttr, s))
|
||||
{
|
||||
s.strip_spaces();
|
||||
l = atol(s);
|
||||
return true;
|
||||
}
|
||||
l = 0L;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TXmlItem::GetEnclosedReal(const char* strAttr, real & r) const
|
||||
{
|
||||
TString s;
|
||||
|
||||
if (GetEnclosedText(strAttr, s))
|
||||
{
|
||||
s.strip_spaces();
|
||||
r = real(s);
|
||||
return true;
|
||||
}
|
||||
r = ZERO;
|
||||
return false;
|
||||
}
|
||||
|
||||
TXmlItem & TXmlItem::AddEnclosedText(const char* str)
|
||||
{
|
||||
TXmlItem* item = FindFirst("");
|
||||
if (item == NULL)
|
||||
if (item == nullptr)
|
||||
item = &AddChild("");
|
||||
if (item->m_strText == NULL)
|
||||
if (item->m_strText == nullptr)
|
||||
item->SetText(str);
|
||||
else
|
||||
*item->m_strText << str;
|
||||
return *item;
|
||||
}
|
||||
TXmlItem & TXmlItem::AddEnclosedText(const char* strAttr, const char * str)
|
||||
{
|
||||
TXmlItem* item = FindFirst(strAttr);
|
||||
if (item == nullptr)
|
||||
item = &AddChild(strAttr);
|
||||
item->AddEnclosedText(str);
|
||||
return *item;
|
||||
}
|
||||
|
||||
TXmlItem & TXmlItem::AddEnclosedDate(const char* strAttr, const TDate d, const char* f)
|
||||
{
|
||||
TFormatted_date fd(d, f);
|
||||
|
||||
TXmlItem& item = AddEnclosedText(strAttr, fd.stringa());
|
||||
return item;
|
||||
}
|
||||
|
||||
TXmlItem & TXmlItem::AddEnclosedInt(const char* strAttr, const int i)
|
||||
{
|
||||
TString & s = get_tmp_string(128);
|
||||
|
||||
s << i;
|
||||
TXmlItem& item = AddEnclosedText(strAttr, s);
|
||||
return item;
|
||||
}
|
||||
|
||||
TXmlItem & TXmlItem::AddEnclosedLong(const char* strAttr, const long l)
|
||||
{
|
||||
TString & s = get_tmp_string(128);
|
||||
|
||||
s << l;
|
||||
TXmlItem& item = AddEnclosedText(strAttr, s);
|
||||
return item;
|
||||
}
|
||||
|
||||
TXmlItem & TXmlItem::AddEnclosedReal(const char* strAttr, const real r)
|
||||
{
|
||||
TString & s = get_tmp_string(128);
|
||||
|
||||
s << r;
|
||||
TXmlItem& item = AddEnclosedText(strAttr, s);
|
||||
return item;
|
||||
}
|
||||
|
||||
TXmlItem& operator<<(TXmlItem& item, const char* str)
|
||||
{
|
||||
@ -600,11 +710,11 @@ TXmlItem* TXmlItem::FindFirstChild(const char* strTag) const
|
||||
if (c->GetTag() == strTag)
|
||||
return c;
|
||||
}
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
TXmlItem::TXmlItem()
|
||||
: m_strTag(15), m_strText(NULL), m_Attributes(NULL), m_Children(NULL)
|
||||
: m_strTag(15), m_strText(nullptr), m_Attributes(nullptr), m_Children(nullptr)
|
||||
{ }
|
||||
|
||||
TXmlItem::~TXmlItem()
|
||||
|
@ -42,7 +42,17 @@ public:
|
||||
}
|
||||
|
||||
TXmlItem& AddEnclosedText(const char* str);
|
||||
TXmlItem& AddEnclosedText(const char* strAttr, const char * str);
|
||||
TXmlItem& AddEnclosedDate(const char* strAttr, const TDate d, const char* f = "1444-");
|
||||
TXmlItem& AddEnclosedInt(const char* strAttr, const int i);
|
||||
TXmlItem& AddEnclosedLong(const char* strAttr, const long l);
|
||||
TXmlItem& AddEnclosedReal(const char* strAttr, const real r);
|
||||
bool GetEnclosedText(TString& str) const;
|
||||
bool GetEnclosedText(const char* strAttr, TString & str) const;
|
||||
bool GetEnclosedDate(const char* strAttr, TDate & d) const;
|
||||
bool GetEnclosedInt(const char* strAttr, int & i) const;
|
||||
bool GetEnclosedLong(const char* strAttr, long & l) const;
|
||||
bool GetEnclosedReal(const char* strAttr, real & r) const;
|
||||
|
||||
TXmlItem& SetAttr(const char* strAttr, const char* strVal);
|
||||
const TString& GetAttr(const char* strAttr) const;
|
||||
|
Loading…
x
Reference in New Issue
Block a user