|
i have received an e-mail saying one of the users have rplied, and it gave link, but i dont see what the other user has posted on my reply
|
|
|
|
|
wrote: i dont see what the other user has posted on my reply
Probably he post some XML. The browser tries to interpret the XML tags like he does with HTML tags but since they have no meaning to the browser (in almost any case) the tags and its content are ignored. Asked the user that replied to you to either replace the "<" characters with "<" or check the "Ignore HTML tags in this message" beneath the smilies. If you do not want to wait till he does either of them, you should be able to read the answer by looking at the source code of the page.
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
I am using MSXML and prior to sending a XML (IXMLDOMDocument2*) through to a server, I need to strip out the CR's and LF's or just the CR's (0x09) from the XML file to send. How can I do this please?
|
|
|
|
|
did you try doc->preserveWhiteSpace(VARIANT_FALSE) ?
led mike
|
|
|
|
|
Yes. But that still leaves the CR's i.e. 0x0d! The document being loaded from disk has been canonalised ( C14N ) and doesn't have the CR's but as soon as it is loaded into my IXMLDomDocument2 object they are back. I have the following settings set:
put_async( VARIANT_FALSE )
put_validateOnParse(VARIANT_TRUE)
put_resolveExternals(VARIANT_FALSE)
put_preserveWhiteSpace(VARIANT_TRUE)
I would appreciate anyones advise on this.
|
|
|
|
|
Andy H wrote: put_preserveWhiteSpace(VARIANT_TRUE)
VARIANT_TRUE != VARIANT_FALSE sigh:
led mike
|
|
|
|
|
What I meant that I had tried set preserveWhiteSpace to VARIANT_TRUE. This does indeed get rid of the WhiteSpace but I still have CR-LF's i.e. I have:
0D 0A 09 09
Because the xml file saved to disk has been C14N'ed then when loaded into my IXMLDOMDocument2 object for transmission the signle LF's i.e. 0A have been converted back into CR-LF's i.e. OD OA pairs.
What I want to know is how can I load the XML file into my IXMLDOMDocument2 object without it changing it in any way?
|
|
|
|
|
Hi All,
Can anyone tell me if I can import two XSD's at the same time in my WSDL's
<types> section? if yes, how do i do it?
Thanks
|
|
|
|
|
Inside the types section define a schema that imports the two schemas.
<wsdl:types>
<xsd:schema>
<xsd:import namespace="..." schemaLocation="..." />
<xsd:import namespace="..." schemaLocation="..." />
...
</xsd:schema>
</wsdl:types>
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
Thanks for the information provided.
We have already tried the above mentioned suggestion. It doesnt work for us. It says the below error.
Port 'PreBpelService83Port' can not be imported. PortType 'PreBpelService83' can not be imported. The http://schemas.xmlsoap.org/wsdl/:operation 'process' was ignored
Any help on this is appreciated.
Thanks
|
|
|
|
|
Subramaniam s.V. wrote: It says the below error.
Who is it?
Subramaniam s.V. wrote: Port 'PreBpelService83Port' can not be imported. PortType 'PreBpelService83' can not be imported. The http://schemas.xmlsoap.org/wsdl/:operation 'process' was ignored
Are you sure you're trying to import XML Schema documents? The error complains about not being able to import WSDL elements.
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
Take a look at the classes in the System.Xml namespace (especially XmlDocument and/or XmlTextWriter ). Their documentation and the continuative links contain many useful examples.
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
I'm new to XML and have a simple document to parse.
<?xml version="1.0" encoding="UTF-8"?>
<Email>
<Email_Cfg>
<Interface>SMTP</Interface>
<ServerName>Company-server.corp</ServerName>
<ServerAddress>10.10.0.230</ServerAddress>
<MailFrom>Fred@gmail.com</MailFrom>
</Email_Cfg>
</Email>
I have tried the following. You can ignore the trace statements.
try
{
CWTRACE(TRC_DETAIL,("Parsing document!"));
//Parse the XML using DOM parser
XercesDOMParser * parser = new XercesDOMParser;
parser->parse(pathName);
DOMDocument * doc = parser->getDocument();
//Get the root element
DOMElement * docEle = doc->getDocumentElement();
DOMNodeList * nl = docEle->getElementsByTagName(L"Email_Cfg");
int iCnt = nl->getLength();
CWTRACE(TRC_DETAIL,("Number of nodes in Email_Cfg: '%d'", iCnt));
DOMNode * node = nl->item(0);
char * s = XMLString::transcode(node->getNodeName());
CWTRACE(TRC_DETAIL,("First Node Name: '%s'", s));
XMLString::release(&s);
DOMNodeList * nl1 = node->getChildNodes();
iCnt = nl1->getLength();
CWTRACE(TRC_DETAIL,("Number of child nodes in Email_Cfg: '%d'", iCnt));
DOMNode * node2;
for (XMLSize_t x = 0; x < nl1->getLength(); x++)
{
node2 = nl1->item(x);
s = XMLString::transcode(node2->getNodeName());
CWTRACE(TRC_DETAIL,("Child Node Name: '%s'", s));
if (strcmpi(s, "Interface") == 0)
{
char * t = XMLString::transcode(node2->getNodeValue());
CWTRACE(TRC_DETAIL,("Node Value: '%s'", t));
XMLString::release(&t);
}
XMLString::release(&s);
}
DOMElement * el;
for (XMLSize_t z = 0; z < nl1->getLength(); z++)
{
el = (DOMElement*)nl1->item(z);
s = XMLString::transcode(el->getTagName());
CWTRACE(TRC_DETAIL,("Element tag Name: '%s'", s));
if (strcmpi(s, "Interface") == 0)
{
char * t = XMLString::transcode(el->getAttribute(L"Interface"));
CWTRACE(TRC_DETAIL,("Interface Attribute Value: '%s'", t));
XMLString::release(&t);
DOMAttr * attr = el->getAttributeNode(L"Interface");
if (attr != NULL)
{
char * p = XMLString::transcode(attr->getName());
CWTRACE(TRC_DETAIL,("Attribute name: '%s'", p));
XMLString::release(&p);
p = XMLString::transcode(attr->getValue());
CWTRACE(TRC_DETAIL,("Attribute value: '%s'", p));
XMLString::release(&p);
}
}
XMLString::release(&s);
}
DOMNode * node1 = node->getFirstChild();
s = XMLString::transcode(node1->getNodeName());
CWTRACE(TRC_DETAIL,("Child Node Name: '%s'", s));
XMLString::release(&s);
iCnt = node1->getNodeType();
CWTRACE(TRC_DETAIL,("Node type: '%d'", iCnt));
s = XMLString::transcode(node1->getNodeValue());
CWTRACE(TRC_DETAIL,("Node Value: '%s'", s));
XMLString::release(&s);
}
catch(...)
{
CWTRACE(TRC_ERROR,("ERROR - Failed to parse email config file: '%s'", pathName));
CWTRACE_EXIT();
return -1;
}
Lots of trial and error, mostly error. I get the names of the nodes or elements, but can never get the values. How can I get the values?
Walter Falby
|
|
|
|
|
|
Stefan:
Thank you. I tried that and it appears to work. I had not found that link when I googled.
Walter Falby
|
|
|
|
|
jomoK wrote: I had not found that link when I googled.
Yeah, it's sometimes quite hard to find the right search terms that let google find the answer one is looking for
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
Hi,
I have the following code, which picks up 43 different nodes from my
XML document
XmlNodeList amortNodes = amortDoc.SelectNodes("//
TValueAmortizationSchedule/AmortizationLine");
each node looks like this:
<AmortizationLineType>8</AmortizationLineType>
<Date>09/01/2006</Date>
<Loan1Amount>100000000</Loan1Amount>
<Loan2Amount></Loan2Amount>
<Loan3Amount></Loan3Amount>
<Payment1Amount></Payment1Amount>
<Payment2Amount></Payment2Amount>
<Payment3Amount></Payment3Amount>
<InterestAccrued>0</InterestAccrued>
<InterestPaid>0</InterestPaid>
<PrincipalPaid>0</PrincipalPaid>
<UnpaidInterestBalance>0</UnpaidInterestBalance>
<PrincipalBalance>100000000</PrincipalBalance>
<TotalBalance>100000000</TotalBalance>
<RateChangeRate></RateChangeRate>
<RateChangeCompounding>13</RateChangeCompounding>
Now I am trying to loop through the node list to get get the nodes
with AmortizationLineType = 8
foreach (XmlNode amortNode in amortNodes)
{
amortType = amortNode.SelectSingleNode("//AmortizationLine/
AmortizationLineType").InnerText;
if (amortType.Equals("8"))
{
count++;
...........
}
}
Now I know from my debugging, that not all 43 nodes fulfil this
criteria (ie amortType=8). However, when I run this application, the
amortType always comes back as 8 (which is the value on only the first node), which
seems to tell me it is not picking up the values after that? Any ideas?
Thanks for your help.
|
|
|
|
|
The problem is the XPath expression passed to the SelectSingleNode method. The double slash at the beginning causes the selection of all nodes in the document from the current node that match the selection no matter where they are, so you're always selecting the first of the AmortizationLineType elements of all AmortizationLine elements. Try using the following XPath expression amortNode.SelectSingleNode("./AmortizationLineType") instead.
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
Hello all,
I want to use XML to store some data in an app I'm writing. I've always used Access and DB programming prior to this but want to learn XML. Have a very limited knowledge of XML and would like to do some basic DB stuff like;
1) Read data in.
2) Modify it.
3) Write it back out (as needed)
Any help would be appreciated.
I've googled and have found a lot but unable to find anything simple and straight forward.
Thanks,
Mike
If you can't find time to do it right the first time how are you going to find time to do it again?
|
|
|
|
|
If you want to learn about XML and related technologies, I suggest visiting this site W3 Schools[^]
To work with XML in .NET you have to deal with the classes in the System.Xml namespace. Take a look at their documentation and the continuative links that contain many useful explainations. You can start with the XmlDocument , XmlReader and XmlWriter classes.
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
Stefan,
Thank you very much for the info. W3 looks like a very good resource site!
Thanks,
Mike
If you can't find time to do it right the first time how are you going to find time to do it again?
|
|
|
|
|
Does anyone know how I can serialize a StringDictonary to XML? Failing that, is there another structure that I can use that is serializable? I'm trying to use WSRF.Net but my code gets halted as the structures are I use are not serializable.
I want to do so without having to use long complicated code and multi-dimensional string arrays.
My thanks in advance.
|
|
|
|
|
The StringDictionary has the SerializableAttribute , so you should be able to use the XmlSerializer in order to serialze or deserialize instances of the class to or from a XML document, respectively.
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
I know that, but this is where it gets frustrating.
StringDictionary implements the IDictonary interface and the serializer aborts saying classes implementing that interface are not supported yet.
|
|
|
|
|
WiseHacker wrote: StringDictionary implements the IDictonary interface and the serializer aborts saying classes implementing that interface are not supported yet.
So I guess you have to do it on your own. Should not be to hard using the XmlTextWriter and XmlTextReader classes. Simply iterate over the dictionary and use the appropriate WriteXX or ReadXX methods to store or retrieve each dictionary entry. The resulting XML could look like that:
<dictionary>
<entry>
<key>key1</key>
<value>value1</value>
</entry>
<entry>
<key>key2</key>
<value>value2</value>
</entry>
...
</dictionary>
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|