But then I could not guarantee that the output is exactly the same as the input outside of the specific values being updated.
DOM-tree<-->wiki-syntax is a one-to-many relationship, for example each of the following is a valid wiki-syntax representation of a table row containing 3 cells with the contents A, B, and C:
|-
| A || B || C
|-
| A
| B
| C
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
</tr>
Also, I doubt that writing a full-blown parser and serializer would result in less work and less code than a regex-based solutions supported by linked substrings.