The objects described in this section (Application API for Java) are obsolete from v2012 onwards.
For information about how to access the Application API from Java code, see the section: Programming Languages | Java. |
The "SpyDoc doc = app.GetDocuments().OpenFile(...)" command parameter must be altered to suit your environment.
What the sample does:
•Starts a new XMLSpy instance
•Opens the Datasheet.xml file (alter the path here...)
•Switches to the Enhanced Grid view
•Appends a new child element called "NewChild" with the text value "NewValuE" element to the root element
•Checks if the document is valid and outputs a message to the Java console
•Quits and releases the XMLSpy application
import XMLSpyInterface.*;
public class TestSpyInterface
{
public TestSpyInterface() {}
public static void main(String[] args)
{
SpyApplication app = null;
SpyDoc oDoc = null;
SpyXMLData oData = null;
SpyXMLData oNewChild = null;
try
{
app = new SpyApplication();
app.ShowApplication( true );
oDoc = app.GetDocuments().OpenFile("C:\\FilePath\\OrgChart.xml", true );
// OrgChart.xml is in the folder C:\Documents and Settings\<username>\My Documents\Altova\XMLSpy2022. The filepath should be in
// the form: C:\\Documents and Settings\\Username\\Folder\\Filename.xml
if ( oDoc != null )
{
oDoc.SwitchViewMode(SPYViewModes.spyViewGrid);
oData = oDoc.GetRootElement();
oNewChild = oDoc.CreateChild(SPYXMLDataKind.spyXMLDataElement);
oNewChild.SetName( "NewChild" );
oNewChild.SetTextValue("newVaLuE");
oData.AppendChild(oNewChild);
if ( oDoc.IsValid() == false )
{
// is to be expected after above insertion
System.out.println( "!!!!!!validation error: " + oDoc.GetErrorString() );
System.out.println( "!!!!!!validation error: " + oDoc.GetErrorPos() );
System.out.println( "!!!!!!validation error: " + oDoc.GetBadData() );
}
}
app.Quit();
}
finally
{
// Free any allocated resources by calling ReleaseInstance().
if ( oNewChild != null )
oNewChild.ReleaseInstance();
if ( oData != null )
oData.ReleaseInstance();
if ( oDoc != null )
oDoc.ReleaseInstance();
if ( app != null )
app.ReleaseInstance();
}
}
}
If you have difficulties compiling this sample, please try the following commands on the (Start | Run | cmd) command line. Please make sure you are currently in the folder that contains the sample java file.
compilation
javac -classpath c:\yourpathhere\XMLSpyInterface.jar testspyinterface.java
Execution
java -classpath c:\yourpathhere\XMLSpyInterface.jar testspyinterface