# System.Xml

**Kind:** Service

**Source:** `Pams/Data/Pams.Data/Pams.Data.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

NuGet package dependency

`System.Xml` is a NuGet package dependency declared by `Pams.Data`. It enables the .NET data project to read, write, and process XML when XML-based data is handled within the Pams system.

## Diagram

```mermaid
sequenceDiagram
    participant App as Application
    participant Data as Pams.Data
    participant Xml as System.Xml

    App->>Data: Send XML input
    Data->>Xml: Create XML reader or document
    Xml-->>Data: Return parsed XML nodes
    Data-->>App: Return mapped data
```

## Usage

```ts
const xmlPayload = `
  <PamsData>
    <Item id="example">
      <Name>Sample</Name>
    </Item>
  </PamsData>
`;

const response = await fetch("/api/pams/import", {
  method: "POST",
  headers: {
    "Content-Type": "application/xml",
  },
  body: xmlPayload,
});

if (!response.ok) {
  throw new Error("XML import failed");
}
```

## AI Coding Instructions

- Treat `System.Xml` as a .NET package dependency; do not import it as a TypeScript or JavaScript runtime module.
- Keep XML parsing and serialization inside the `Pams.Data` project or another .NET integration layer.
- Validate XML input before mapping nodes into application data.
- Preserve the legacy project-file dependency format when editing `Pams.Data.csproj`.
- Restore NuGet packages after changing the project dependency declaration.
