Hi I have a need to be able to select an XML file, and use fields in it to populate an interface.
At the moment I have a simpe interface with a File Upload and a Rule Input of xmlData (Document) which the file upload saves to.
I am then kicking off a process model on submit which runs a script task.
I have activity class parameters for the fields I want and am running the following script on each one
Does anyone know what the error is more specifically? Am I on the right lines or is there a better way of doing this?
Discussion posts and replies are publicly visible
Hi David,
Few recommendations that I could give to you:
I’m adding a sample code below, in this example only the text of the tag "content" is retrieved:
xpathdocument( docId: 9999, expression: "/a:document/data/body/item/content/text()", /*sample namespace prefix just add if your input xml has ns*/ prefix: "a:http://www.appian.com/ae/types/2009" )
Regards,
Acacio Barrado.
Hi Acacio
How would I find the DocumentID? This is my interface - I assume it is the 47259 stored in the rule input before the filename? What would be the best way of grabbing this in the process model?
Also, where do I check for if the xml has namespace?
This is the document properties of one I uploaded
ThanksDavid
David Craven said:How would I find the DocumentID?
Your assumptions are correct, as long as you account for needing to submit a form prior to accessing a document's properties (which i believe you're already doing correctly). If needed, you can always typecast a document object directly to its ID by, among other things, passing the document object through the "toInteger()" function. As I noted in my prior reply though, in almost all cases it won't make any difference, as integer and document objects will almost seamlessly cross-typecast as needed depending on the service in question.